On Tue, Jul 12, 2011 at 12:04:13PM -0500, Jim Peters wrote:
> Luca Bruno wrote:
> > > Threads are very heavy compared to an optimised implementation of
> > > 'goroutines' or whatever.  Certainly you can emulate them but it's not
> > > going to be an efficient way of implementing algorithms unless someone
> > > puts in the work to make it efficient under the hood.
> > > 
> > > If convenience matters more than efficiency, then no problem.
> > 
> > Do you have any benchmark? I wouldn't say that loudly in general.
> 
> No, I don't have a benchmark, but a Thread is actually a kernel
> process on Linux, whereas a goroutine could be just an allocated
> mini-stack of 100 bytes (assuming enough static analysis to figure out
> required stack depth) and some housekeeping structures.  Switching
> between threads means waiting for the Linux kernel to schedule it.
> Switching to/from a go/coroutine could be a longjmp (having read some
> of the Pth implementation stuff).
> 
> To me it seems that they would not be comparable in efficiency.

Threads are allocated on multiple cores nowadays and you can use lock-free
data structures when possible. Still you didn't provide any benchmark,
only thoughts.

-- 
http://www.debian.org - The Universal Operating System
_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to