01 Mar 2001 07:58:26 +0100
Jan-Willem Maessen <firstname.lastname@example.org> writes:
> Absolutely. Good high-level thread support trumps anything provided
> by the operating system.
Unless you have more than one CPU...
> Similar dramatic performance disparities have cropped up in the Java
> community. There are Java benchmarks which create thousands of
> threads; most implementations slow to a crawl when this happens, as
> the operating system collapses under the crushing load.
In particular, Linux will have a problem with thousands of *runnable*
processes. There's some potentially nasty O(>n) complexities when
processing the run queue, so while a couple of runnable processes is
very fast, having lots is not.
In practice, most processes are blocked on IO most of the time, so
it seems it's only a problem for certain Java benchmarks.
If I haven't seen further, it is by standing in the footprints of giants