I can't answer this definitively, but have you tried benchmarking these things yourself?
With this said, Go is still not on par with C in terms of performance yet, there is a lot of room for improvement with go.
Mike
--
Charity, n.:
A thing that begins at home and usually stays there.
Afaik, pthreads are used only, when you compile your Go code with gccgo.
The 8c/6c use an own, much more lightweight version of threads (that's
why they're called go routines) with their own scheduler and cooperative
scheduling(!). You can see this, if you run a go program with multiple
go routines. Your os's process view will only show one process (in
contrast to the same program compiled with gccgo).
Regarding your performance question: This depends heavily on benchmarked
program.
Gccgo is better when it comes to optimizing. However, context switches
of go routines are much cheaper. So big number of short go routines
might be faster in 8c/6c, a few, rather long go routines might be more
efficient with gccgo.
HTH,
Surma
> Actually how do go routines compare against using fibers in Windows,
> or
> Solaris LWP?
They're supported by the language. The rest is implementation detail.
-rob