Lua有类似于Python的Multiprocessing功能吗?

在一些 Redis 加载测试中,LuaJIT 2.0(beta)的表现非常出色,大约只有类似单线程 Python 脚本运行时间的 60%。

当使用 Python 的 multiprocessing 模块来切分大型文本文件时,将工作划分到不同的核心上可以显着提高性能。

我认为在 Lua 中使用相同的方法应该可以获得更好的表现,但作为一个 Lua 初学者,我还没有找到正确的方法。有人可以指点我吗?

点赞
用户255049
用户255049

LuaThreads,然而,正如 Mike Pall 在这里 所解释的那样,它并不是多线程和相互关联任务的最佳解决方案(因为所有线程将猛击 Lua 状态上的单个锁)。

但是 LuaLanes 可能提供了您需要的内容,但是,由于您正在使用/青睐 LuaJIT 而不仅仅是普通的 Lua,您可能可以利用 FFI 直接从 LuaJIT 中生成系统线程并传递一个 Lua 回调函数(但我不确定这是否安全,这需要通过 LuaJIT 邮件列表了解)。

2012-07-13 15:18:46