libthr and 1:1 threading.

Peter Wemm peter at wemm.org
Thu Apr 3 12:44:37 PST 2003


Terry Lambert wrote:
> I have to ask:
> 
> Why is it so important to people that the libthr performance
> gains be impossible to achieve without use of the 1:1 model,
> rather than a modification of libc_r, or avoidance of existing
> kernel latencies?

Cost vs. Benefit is a big factor.  As Jeff has shown, writing a functional
1:1 libthr is significantly easier than M:N or the other alternatives.
Easier to write, easier to maintain, easier to understand, easier to debug,
and *good enough*.  Its all very well for somebody to sit on the sidelines
and say what we should be doing, but when it comes down to actually doing
it, we're the ones in the hot seat and actually have to write it and
maintain it and debug it.  kse based threads or async call gates or
whatever are almost certainly more efficient at runtime, but we've got to
get to the 'running' point first.  A mathematical proof is no use to
somebody who wants threaded mysql or java or mozilla to work well.  Neither
is an unstable thread library.  At the end of the day working code is what
counts, and the more highly ambitious threading systems have to pay the
development, debugging and maintenence cost to get there.

May the best code win!

Cheers,
-Peter
--
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5



More information about the freebsd-arch mailing list