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

tomanderson · 2020年12月31日 · 最后由 316786359 回复于 2021年01月03日 · 355 次阅读

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

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

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

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

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