Производительность скомпилированного кода Haxe

Как скомпилированный код Haxe сравнивает производительность с другими целями?

Например, PHP, исходящий из Haxe быстрее или медленнее исходного кода PHP?

Как насчет Javascript? Вспышка? С++? Etc.

Есть ли там какой-то серьезный ориентир?

Ответ 1

Я не знаю, какие тесты там, и это наверняка будет отличаться от целевой платформы, поэтому я думаю, что это всего лишь половина ответа. Но вот некоторые общие моменты:

  • При поиске вы можете найти несколько тестов, сравнивающих OpenFL/NME с Flash. Одним из примеров является этот

  • Для CPP мне говорят, что все немного медленнее обычного С++. Я предполагаю, что оптимизированный вручную С++ может стать довольно быстрым. Примерный пример от создателя HXCPP здесь

  • Для JS я знаю, что Haxe придерживается сравнительных рекомендаций по производительности. Например, строго типизированная природа Haxe имеет тенденцию приводить к лучшей производительности с Javascript JIT-компиляторами, поэтому код Haxe довольно сопоставим с хорошо написанным Javascript. (Заметьте, я говорю о регулярных JS здесь, а не о холсте /openFL графическом материале - очевидно, что это потребует ваших собственных тестов).

  • Для PHP я не уверен, как Haxe генерирует PHP по сравнению с написанным вручную PHP. Я могу вам сказать, что вы можете почти легко переключаться с PHP на Neko (оба работают на apache легко), и вы получите код намного быстрее, чем написанный вручную PHP. Ваши шеи бутылки будут поступать из доступа к БД и т.д., А не для выполнения кода.

  • Для флеш-поиска и поиска, и вы, вероятно, найдете контрольные показатели. Haxe дает вам некоторые функции времени компиляции, такие как дженерики, безопасность типов и функции, которые могут помочь в производительности во время выполнения.

В целом

Самый большой прирост производительности с Haxe - это не сравнение его с написанным вручную кодом на том же языке, что и переход на более быструю платформу без особых усилий. Напишите в PHP, переключитесь на neko → огромное ускорение. Запись во Flash, переход на OpenFL (С++) → огромное ускорение.

Надеюсь, кто-то еще может опубликовать некоторые ссылки на более релевантные критерии:)

Ответ 2

Вы можете посмотреть эту статью. Он сравнивает компиляторы Haxe. Кажется, что PHP является самым медленным среди 5 целевых компиляторов. https://hal.inria.fr/hal-01356849/document