Hi Logan,

On Aug 13, 2010, at 10:49 AM, Logan Bowers wrote:
> To your point Ernie, yes fibers can be almost perfectly emulated using 
> threads. A good, native fiber implementation, however typically uses  
> significantly less memory/fiber and context switches are significantly faster 
> vs a thread-based implementation. 

Ah, yes.  That is why GCD is actually built on queues, rather than threads.  
GCD will only spin up a new thread when necessary; otherwise it'll just reuse 
existing idle threads, so you don't pay any startup cost.

I'd be willing to bet a nice dinner anywhere in the South Bay that you can 
implement Fibers on top of GCD as efficiently as they are implemented natively 
in Ruby 1.9.  The only difference is that the system can -also- schedule them 
on real kernel threads, for much better performance on multicore systems. 

-- Ernie P.
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to