50

コンピューター言語のベンチマーク ゲームによると、LuaJIT の実装は、他のすべての JIT 化された動的言語(V8、Tracemonkey、PLT スキーム、Erlang HIPE)を桁違いに上回っているようです。

これらのベンチマークが代表的なものではないことは承知しています (「どのプログラミング言語の実装が最速のベンチマーク プログラムを持っているか?」という言葉があります) が、これは依然として非常に印象的です。

実際には、それは本当にそうですか?誰かがLuaの実装をテストしましたか?

4

4 に答える 4

35

Lambda the Ultimateで良い議論があります。LuaJIT は非常に優れています。

多くの人がlua-l (lua メーリング リスト) で印象的なスピードアップを報告しています。スピードアップは、純粋な Lua コードで最も印象的です。ロード可能なライブラリ モジュールに C 関数の呼び出しが多数ある場合、トレース コンパイラはそれほど効果的ではありません。

于 2010-04-06T21:30:34.443 に答える
15

私の場合 (ゲームのプロトタイプ開発)、パフォーマンスの向上はまったく見られませんでした。埋め込みにluaを使っているので、C++ライブラリ関数の呼び出しが多いです。メイン ループは lua スクリプトにあり、重要なロジックはすべて lua で実装されていますが、全体的なパフォーマンスは C++ で実装されたレンダリング エンジンと物理エンジンによって決定されました。元の lua は、そのようなアプリケーションに対して十分に高速です。

于 2011-01-26T16:21:27.787 に答える
6

ここで学んだ教訓を使って実験を行いました: http://www.sampalib.org/luajit2.0_tunning.html 一部のデータはもはやそれほど有効ではありません (maxmcode=1024 で十分です)。コードの純粋な Lua スクリプト (perfs をヒットするための C 呼び出しはありません...) は、大規模なアプリケーションでも組み込みのユース ケースでもありませんが、ベンチマークをはるかに超えています。

于 2010-05-03T21:29:54.873 に答える
-2

JIT のパフォーマンスは、元のスクリプト言語のパフォーマンスとコンパイラのパフォーマンスの 2 つに依存します。

コンパイラはかなり成熟した手法であり、ほとんどの JIT コンパイラは同等のパフォーマンスを発揮します。ただし、lua 自体、つまり lua-without-JIT は、おそらく最速のスクリプト言語の 1 つです。

lua は Java-without-JIT よりも高速です。lua は Javascript-without-JIT よりも高速です。lua は、JIT を使用しないほとんどのスクリプト言語よりも高速です。

それで、

lua-JIT は Java-with-JIT (sun Java) よりも高速で、lua-JIT は V8 (Javascript-with-JIT) よりも高速です。

于 2012-02-22T01:09:38.807 に答える