cores and threads

Erik Joelsson erik.joelsson at oracle.com
Thu Sep 19 08:34:53 UTC 2013


In my experience, hyperthreading isn't adding much to build speed. I 
would ignore that feature when deciding on cpu. Also, windows builds do 
not scale out well on multiple cores due to cygwin. But going to 4 over 
2 will certainly make a difference. The machine I use in the lab has 64 
logical cores (with hyperhtreading) and it goes up to 7-8% cpu usage 
during builds at most.

We also tried cygwin 64 bit recently and very limited preliminary 
testing shows that it runs configure around 40% faster, and builds 5% 
faster.

/Erik

On 2013-09-19 07:48, Pete Brunet wrote:
> Thanks.  I am thinking of buying a new 4 core laptop later this year so
> was curious to know if the 8 thread hyperthreading would help that much
> over the 4 cores without hyperthreading.  Actually I don't think there
> will be a non-hyperthreading option.  I put in an SSD last week and now
> I'm compute bound on my 2 core, 2 thread Lenovo T500.  My IO speed would
> also increase due to a doubling of my SATA bandwidth.
>
> On 9/18/13 11:03 PM, David Holmes wrote:
>> On 19/09/2013 7:43 AM, Pete Brunet wrote:
>>> If a machine has 4 cores and 8 threads will the jdk8 build run faster
>>> than one with 4 cores and 4 threads?
>> All depends on where the bottlenecks are. Given a build is pretty much
>> I/O bound I wouldn't expect much difference.
>>
>>> If so would it be a 2x decrease in build time?
>> No. The CPU component of the build will be a fraction of the I/O
>> component.
>>
>> Even a compute bound task won't see a 2x difference when run on twice
>> the number of hardware threads as they share physical resources in the
>> core so can't completely run in parallel.
>>
>>> Would the build explicitly take advantage of the
>>> hyper-threading or would any increase in performance be a side effect?
>> The build like most other software on the system knows nothing about
>> processors, cores and (hyper)-threads. The OS presents a model where
>> all of those things represent logical processors and it runs native
>> threads on each logical.
>>
>> Trying to do too much in parallel can easily degrade performance - you
>> need to understand how Amdahls Law applies to the computation you are
>> doing.
>>
>> David
>>
>>
>>




More information about the build-dev mailing list