2013-08-14 48 views
11

Mã được so sánh Haxe được so sánh như thế nào trong hiệu suất với các mục tiêu khác nhau?Hiệu suất mã được biên dịch Haxe

Ví dụ: PHP đến từ Haxe nhanh hơn hoặc chậm hơn mã PHP gốc?

Còn Javascript thì sao? Đèn flash? C++? Vv

Có điểm chuẩn nghiêm trọng nào không?

Trả lời

14

Tôi không biết điểm chuẩn là gì, và nó chắc chắn sẽ khác nhau theo nền tảng đích, vì vậy tôi đoán đây chỉ là một nửa câu trả lời. Nhưng dưới đây là một số điểm chung:

  • Nếu bạn tìm kiếm, bạn có thể tìm thấy một số điểm chuẩn so sánh OpenFL/NME với Flash. Một ví dụ là this one

  • Đối với CPP, tôi được cho biết mọi thứ hơi chậm hơn so với C++ thông thường. Tôi tưởng tượng C++ được tối ưu hóa bằng tay có thể nhanh hơn một chút. Tiêu chuẩn ví dụ từ tác giả của HXCPP here

  • Đối với JS, tôi biết Haxe sẽ thực hiện các phương pháp hay nhất để thực hiện. Ví dụ, bản chất được đánh máy đúng đắn của Haxe có xu hướng dẫn đến hiệu suất tốt nhất với trình biên dịch Javascript JIT, vì vậy mã Haxe khá giống với Javascript được viết tốt. (Lưu ý, tôi đang nói về JS thường xuyên ở đây, không phải công cụ đồ họa canvas/openFL - rõ ràng là sẽ yêu cầu điểm chuẩn của riêng bạn).

  • Đối với PHP, tôi không chắc cách Haxe tạo PHP so sánh với PHP viết bằng tay. Những gì tôi có thể nói với bạn là bạn gần như có thể chuyển đổi từ PHP sang Neko (cả hai đều chạy trên apache một cách dễ dàng) và bạn sẽ nhận được mã nhanh hơn nhiều so với PHP viết tay. Cổ chai của bạn sẽ đến từ DB truy cập vv, không phải là thực thi mã.

  • Đối với flash, tìm kiếm xung quanh và có thể bạn sẽ tìm thấy điểm chuẩn. Haxe cung cấp cho bạn một số tính năng thời gian biên dịch như generics, kiểu an toàn và chức năng nội tuyến, có thể giúp hiệu suất thời gian chạy.

Nhìn chung

Việc đạt được hiệu suất lớn nhất với haXe không phải là từ so sánh nó với mã viết tay trong cùng một ngôn ngữ, đó là từ việc có thể để chuyển sang một nền tảng nhanh hơn mà không cần nhiều nỗ lực . Viết bằng PHP, chuyển sang neko -> tăng tốc rất lớn. Viết trong Flash, chuyển sang OpenFL (C++) -> tăng tốc rất lớn.

Hy vọng rằng người khác có thể đăng một số liên kết đến các tiêu chuẩn phù hợp hơn :)

+1

Câu trả lời hay. Tuy nhiên tôi đã thử nghiệm và thấy rằng Haxe không cho kết quả SWF nhanh hơn so với cùng một mã được viết bằng AS3 chủ yếu do tối ưu hóa thời gian biên dịch. PHP lập trình viên đã nói với tôi về một số tăng tốc độ nhờ gõ nghiêm ngặt, nhưng bạn là 100% quyền - cổ chai hiếm khi vì PHP, thay vì đó là xử lý DB. –

+0

Cảm ơn câu trả lời của bạn. Nếu không ai cung cấp dữ liệu cụ thể hơn, tôi sẽ đưa ra câu trả lời đúng cho bạn. Bạn có ý nghĩa gì với "Viết trong PHP, chuyển sang neko"? – Pier

+0

@CreativeMagic thú vị về việc tối ưu hóa thời gian biên dịch. Tôi nghi ngờ như vậy nhưng tôi không phải là một người sử dụng đèn flash nặng.Vẫn sẽ được quan tâm để xem một số điểm chuẩn nếu bạn biết về bất kỳ ... –

2

Bạn có thể xem bài viết này. Nó so sánh các trình biên dịch Haxe. PHP có vẻ là chậm nhất trong số 5 trình biên dịch đích. https://hal.inria.fr/hal-01356849/document

+0

Cảm ơn. Đây là một chút thú vị: http://imgur.com/gOVvMe0 – Pier

+1

Đừng ngần ngại hỏi thêm chi tiết. Tôi là tác giả của bài báo đó ☺️ – staticx

Các vấn đề liên quan