使用 parallel 并行执行ruby code

Published 05-05-2017 20:36:49

parallel gem

需求,游戏项目里需要处理Excel表格,然后转成lua代码

parallel这个gem可以将任务分配到多个cpu提升速度

使用前,Excel表格依次处理

70.02 real        58.75 user         5.06 sys

使用parallel处理后

Parallel.map($build_tasks, in_processes: 4) do |task|
  eb = ExcelBuild.new
  eb.load_excel(task[:filename])
  eb.instance_eval(&task[:block])
end

时间减少很多

25.59 real        85.48 user         5.35 sys