2022年08月14日

QuickJS(組み込み用 Javascript)と LuaJIT

 アプリケーションにスクリプト言語を組み込みたいとき、今まで Ruby と Lua を使ってきたんだけど、Javascript も選択肢になるということを最近知った。QuickJS という、組み込み用の Javascript エンジンがあるのです。

 ESP32 上で動かす記事は、QuickJS のパフォーマンスについて雰囲気をつかむのに良い。マイクロコントローラ上でメモリや実行速度の制約がきつい中で動かしてみると、いろいろ見えてくるものがある。現在の実装では、ガーベジコレクションがけっこう重いようですね。

 組み込み言語としてのパフォーマンスを考えると、やはり LuaJIT が勝るのかな。しかし、将来性がどうしても気になる。事実上、Mike Pall 氏の個人プロジェクトですからね。誰かが引き継ぐというのは無理なんでしょうかね?

 LuaJIT の GitHub ページには、以下の Issue "Clone Mike Pall" が登録されています。これはたぶん有名なやつなのでしょう。

20220810-1.jpg

 スクリプト言語 Wren のページには、ベンチマークの結果とともに、下のような記述があります。

LuaJIT with the JIT enabled is much faster than all of the other languages benchmarked, including Wren, because Mike Pall is a robot from the future.

Wren — Performance

 最近 Mike Pall 氏は精力的に LuaJIT のアップデートをしているようですが、あまりにも個人の能力に依存しすぎなので、プロジェクトとしてはやはり将来性が心配になるところです。

Posted at 2022年08月14日 22:34:06
email.png