oakfoam too, but I remember it was different before large patterns and other features.
My working hypothesis is: if one thread on a core can wait for memory read the other thread can work (as far as I remember two HTs share the same integer and floating point units e.g.). If there are no bottle lecks there might be no improvement. By the way: The display 50% CPU in case of 4 threads on a 4 core 8 HT processor is nonsense of cause, this is because the operating system calculates as if all 8 HTs are independent CPUs, but they are not! Detlef Am Montag, den 12.05.2014, 11:43 -0400 schrieb Brian Sheppard: > I have the same experience as Erik. My quad core CPU gets about 40% to 50% > more output from 8 threads as from 4. > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Erik van der Werf > Sent: Monday, May 12, 2014 11:39 AM > To: [email protected] > Subject: Re: [Computer-go] C++11; threads > > This is not accurate. In my experience you should expect a substantial > performance increase from hyperthreading. (For my program on an > i7-3930 it was something like a 40%, Zen got a similar number, others on > this list have claimed even higher numbers, e.g., see: > http://dvandva.org/pipermail/computer-go/2012-August/005298.html). > > Erik > > > On Mon, May 12, 2014 at 5:06 PM, Mikko Aarnos <[email protected]> > wrote: > > CPU cores are meant to be used by a single thread only. You can use > > more, but this rests on the assumption that two(or more) threads can > > effectively utilize a single core without too much competition over > > resources. This assumption is true in most situations, e.g. when we > > have to wait for IO or server queries or things like that often, and > > in these cases using HT can give a small performance boost. Now, here > > we are only utilizing the CPU. In this case the threads are only > > getting into each other's way. The effects of this can be seen very > > clearly with your program. It seems to scale perfectly, or very nearly > > so, as long as you don't use more threads than you have actual cores > > on your computer. When you go above that limit the scaling goes to > > hell and you get no improvement at all. The only way to solve your > > scaling problem is to get rid of the competing threads by turning off HT. > I did this and have never looked back. > > > > -Mikko Aarnos > > > > _______________________________________________ > > Computer-go mailing list > > [email protected] > > http://dvandva.org/cgi-bin/mailman/listinfo/computer-go > _______________________________________________ > Computer-go mailing list > [email protected] > http://dvandva.org/cgi-bin/mailman/listinfo/computer-go > > _______________________________________________ > Computer-go mailing list > [email protected] > http://dvandva.org/cgi-bin/mailman/listinfo/computer-go > _______________________________________________ Computer-go mailing list [email protected] http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
