2012-07-13 75 views
3

在一些Redis加载测试中,LuaJIT 2.0(测试版)在类似单线程Python脚本的运行时间的约60%处执行得相当好。相当于Python的多处理的Lua?

当使用Python的多处理模块chunk large text files时,会导致性能显着提高,将内核间的工作分开。

我假设在Lua中使用相同的方法会表现得更好,但作为一个Lua初学者,我还没有找到正确的方法。任何人都可以将我指向正确的方向吗?

回答

2

LuaThreads,但是,如Mike Pall所解释的here,它并不是多线程和相互连接任务的最佳解决方案(因为所有线程都会锤击lua状态中的单个锁)。

然而LuaLanes可能提供你所需要的,但是,当你使用/有利于LuaJIT而不仅仅是简单的Lua时,你可以利用FFI直接从LuaJIT产生系统线程并将它们传递给Lua回调函数(I然而,我不确定这件事的安全性,这对于LuaJIT邮件列表来说也是如此)。