Haxe でコンパイルされたコードのパフォーマンスは、さまざまなターゲットとどのように比較されますか?
たとえば、Haxe からの PHP は元の PHP コードよりも速いですか、遅いですか?
Javascriptはどうですか?閃光?C++? 等。
そこに深刻なベンチマークはありますか?
Haxe でコンパイルされたコードのパフォーマンスは、さまざまなターゲットとどのように比較されますか?
たとえば、Haxe からの PHP は元の PHP コードよりも速いですか、遅いですか?
Javascriptはどうですか?閃光?C++? 等。
そこに深刻なベンチマークはありますか?
どのようなベンチマークがあるかはわかりませんが、ターゲット プラットフォームによって異なることは確かなので、これは答えの半分に過ぎないと思います。しかし、ここにいくつかの一般的なポイントがあります:
検索すると、OpenFL/NME と Flash を比較するベンチマークがいくつか見つかります。一例はこれです
CPP の場合、通常の C++ よりも少し遅いと言われています。手動で最適化された C++ はかなり高速になると思います。HXCPP の作成者によるベンチマークの例はこちら
JS については、Haxe がパフォーマンスの相対的なベスト プラクティスに固執していることを知っています。たとえば、Haxe の厳密に型付けされた性質は、Javascript JIT コンパイラーで最高のパフォーマンスをもたらす傾向があるため、Haxe コードは適切に作成された Javascript にかなり匹敵します。(注意してください、ここでは通常の JS について話しているのであって、canvas/openFL グラフィックスのものではありません - 明らかに独自のベンチマークが必要になります)。
PHP については、Haxe で生成された PHP が手書きの PHP とどのように比較されるかはわかりません。私が言えることは、PHP から Neko にほぼシームレスに切り替えることができ (どちらも apache 上で簡単に実行できます)、手書きの PHP よりもはるかに高速にコードを取得できるということです。ボトルネックは、コードの実行ではなく、DB アクセスなどに起因します。
フラッシュについては、あちこち検索すると、おそらくベンチマークが見つかります。Haxe は、ジェネリック、タイプ セーフ、関数のインライン化などのコンパイル時の機能を提供し、実行時のパフォーマンスを向上させます。
全体
Haxe による最大のパフォーマンスの向上は、同じ言語の手書きコードと比較することではなく、より高速なプラットフォームに簡単に切り替えることができることによるものです。PHPで書き、nekoに切り替え→大幅な高速化。Flash で書き込み、OpenFL (C++) に切り替える -> 大幅な高速化。
うまくいけば、他の誰かがより関連性の高いベンチマークへのリンクを投稿できます:)