Skip to content

Instantly share code, notes, and snippets.

@axgle
Created October 16, 2009 02:58
Show Gist options
  • Save axgle/211499 to your computer and use it in GitHub Desktop.
Save axgle/211499 to your computer and use it in GitHub Desktop.
forkoff IO/Curl etc
===========================
#a.rb
require 'forkoff'
def run(i)
sleep rand
[i,i*i]*":"
end
def m(d)
d.forkoff(200){|i|run(i)}
end
def n(d)
d.map{|i|run(i)}
end
d=1..1000
puts method(ARGV[0]).call(d)
===========================
real 0m10.150s
user 0m6.072s
sys 0m9.749s
++++++++++++++++++++++++++++++++++++
$stdout.sync=true
require 'forkoff'
def run(i)
size=`curl -s http://#{i} -m 2`.size
puts [i,size]*":"
end
def m(d)
d.forkoff(d.size){|i|run(i)}
end
def n(d)
d.each{|i|run(i)}
end
d=DATA.read.split("\n")*10
method(ARGV[0]).call(d)
__END__
www.accesosnormalizados.com
www.puertasmetaldoor.com
www.tiendaandropenis.com
www.jamonesjuanpedrodomecq.com
www.encinadejabugo.com
www.confettistar.com
www.inmoges.es
www.encuentro-catolico.com
librobebe.com
espanol.istockphoto.com
=====================
real 0m4.441s
user 0m1.188s
sys 0m1.036s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment