Quoting Gary Wright <gwtmp01 / mac.com>:

>
> On Feb 21, 2007, at 2:19 PM, Jason Roelofs wrote:
>
> > Since you're writing this in Ruby, I have to suggest that you just
> > write
> > this single-threaded. Ruby uses green threads, meaning it handles
> > it's own
> > threading and not the system, leading to on average decreased
> > execution time
> > vs single-threaded.
>
> If you were talking about CPU bound jobs that might be true, but
> probing networks has lots of inherent I/O latency.  Green threads should
> be just fine for this sort of thing as you are basically waiting on
> various packets to return from the probed hosts.
>
> Gary Wright

I've found Ruby to work quite well for this. I can process 65,536 hosts in about
15 minutes in Ruby or Python. They both take about the same amount of time.
That's probing only one port.