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