Ruby Ruby 3.0 用那种方式写并行计算快,ractor 还是 gem parallel

tomanderson · 2020年12月31日 · 最后由 chriszou 回复于 2021年01月23日 · 669 次阅读

有一些计算密集型的任务需要并行算。ruby2 时代我常用的套路是:安装 gem parallel,它提供了多线程、多进程两种方法,而且语法也比较简单。一般来说,如果用多进程方法,基本上所有 cpu 核心都可以跑满。

但是现在 ruby3 有了 ractor。我在想,如果改用 ractor 做并行,会比 parallel 更快吗?

不清楚 parallel 和 ractor 的具体实现原理,故请各位大神、或者用过的同学指教。

多进程和多线程的区别。原来的因为全局锁,所以不能真正并行。

哪个快难说,不过 Ractor(等成熟以后)内存上应该会很占优,毕竟这是设计 Ractor 的初衷

需要 登录 后方可回复, 如果你还没有账号请 注册新账号