Skip to content

Instantly share code, notes, and snippets.

@mattraibert
Created October 21, 2012 01:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattraibert/3925405 to your computer and use it in GitHub Desktop.
Save mattraibert/3925405 to your computer and use it in GitHub Desktop.
testing out parallelization in ruby
require 'benchmark'
require 'work_queue'
require 'peach'
require 'parallel'
arg = ARGV[0].to_i
Benchmark.bmbm do |x|
x.report("work_queue") do
wq = WorkQueue.new 4
(1..arg).each do |number|
wq.enqueue_b do
number ** number
end
end
wq.join
end
x.report("peach") do
(1..arg).peach do |number|
number ** number
end
end
x.report("parallel") do
Parallel.each(1..arg) do |number|
number ** number
end
end
x.report("none") do
(1..arg).each do |number|
number ** number
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment