examples/mq/primes.rb in amqp-0.7.0.pre vs examples/mq/primes.rb in amqp-0.7.0

- old
+ new

@@ -1,13 +1,15 @@ +# encoding: utf-8 + $:.unshift File.dirname(__FILE__) + '/../../lib' require 'mq' # check MAX numbers for prime-ness MAX = 1000 # logging -def log *args +def log(*args) p args end # spawn workers workers = ARGV[0] ? (Integer(ARGV[0]) rescue 1) : 1 @@ -32,38 +34,38 @@ end # use workers to check which numbers are prime AMQP.start(:host => 'localhost') do - + prime_checker = MQ.rpc('prime checker') (10_000...(10_000+MAX)).each do |num| log :checking, num prime_checker.is_prime?(num) { |is_prime| log :prime?, num, is_prime (@primes||=[]) << num if is_prime - + if (@responses = (@responses || 0) + 1) == MAX log :primes=, @primes EM.stop_event_loop end } end - + end __END__ $ uname -a Linux gc 2.6.24-ARCH #1 SMP PREEMPT Sun Mar 30 10:50:22 CEST 2008 x86_64 Intel(R) Xeon(R) CPU X3220 @ 2.40GHz GenuineIntel GNU/Linux $ cat /proc/cpuinfo | grep processor | wc -l 4 -$ time ruby primes-simple.rb +$ time ruby primes-simple.rb real 0m16.055s user 0m16.052s sys 0m0.000s