4

一部の Redis ロード テストでは、LuaJIT 2.0 (ベータ) は非常にうまく機能しており、同様のシングル スレッド Python スクリプトの実行時間の約 60% です。

Python のマルチプロセッシング モジュールを使用して大きなテキスト ファイルをチャンク化すると、作業がコア間で分割されるため、パフォーマンスが大幅に向上します。

Lua で同じアプローチを使用するとさらにパフォーマンスが向上すると思いますが、Lua の初心者として、正しいアプローチを見つけられませんでした。誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

2

LuaThreadsがありますが、ここで Mike Pallが説明しているように、これは実際にはマルチスレッドおよび相互リンクされたタスクの最適なソリューションではありません (すべてのスレッドが lua 状態で単一のロックを実行するため)。

ただし、 LuaLanesは必要なものを提供する可能性がありますが、単純な Lua だけでなく LuaJIT を使用/支持していることを考えると、おそらく FFI を活用して LuaJIT から直接システム スレッドを生成し、それらに Lua コールバックを渡すことができます (よくわかりません)。ただし、これの安全性については、LuaJIT メーリング リスト向けのものです)。

于 2012-07-13T15:18:46.520 に答える