Windows multi-threading performance issues on multi-core systems

retard re at tard.com.invalid
Tue Dec 15 09:51:00 PST 2009


Tue, 15 Dec 2009 11:15:04 -0500, Sean Kelly wrote:

> Steven Schveighoffer Wrote:
>> 
>> I would suspect something else.  I would expect actually that in an
>> allocation-heavy design, running on multiple cores should be at *least*
>> as fast as running on a single core.  He also only has 2 cores.  For
>> splitting the parallel tasks to 2 cores to take 10x longer is very
>> alarming.  I would suspect application design before the GC in this
>> case. If it's a fundamental D issue, then we need to fix it ASAP,
>> especially since D2 is supposed to be (among other things) an upgrade
>> for multi-core.
> 
> Assuming he's right, the only thing I can come up with that makes even
> the remotest sense is that SuspendThread is ridiculously slow for
> threads on other cores, but effectively a no-op for threads on the same
> core.  But the Boehm GC works the same way as far as I know, and if it
> had such problems I'm sure we'd have heard about it.  It also doesn't
> seem reasonable that the Windows kernel team would be able to keep
> something so broken in place.

FWIW, memory allocations decrease the throughput on the great Sun Hotspot 
GC too: http://java.sun.com/docs/hotspot/gc5.0/
gc_tuning_5.html#1.1.Introduction|outline - so it's most probably a bug 
in the user code.



More information about the Digitalmars-d mailing list