web-dev-qa-db-ja.com

LuaJITは他のどのJITで編集された動的言語よりも本当に速いのですか?

コンピューター言語のベンチマークゲームによると、LuaJITの実装 JITで作成された他のすべての動的言語に勝るようです (V8、Tracemonkey、PLTスキーム、Erlang HIPE)byan大きさのオーダー

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

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

48

Lambda the Ultimate で良い議論があります。 LuaJITはとても良いです。

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

33
Doug Currie

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

16
tbear

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

6