FW: Announcing Finalists for the OpenJDK Community Innovator's Challenge

Andrew Haley aph at redhat.com
Thu Mar 20 17:03:13 UTC 2008


Kelly O'Hair wrote:
> 
> 
> Andrew Haley wrote:
>> Kelly O'Hair wrote:
>>> Excellent points Steve. And good summary.
>>>
>>> The hotspot nmake Makefiles are tied to the MS Visual Studio (VC)
>>> compilers,
>>> and I'm pretty sure nmake.exe is now only delivered with the VC product.
>>> It's not clear how you can match this build performance.
>>> However, it's also not clear how much of this benefit comes from
>>> Hotspot's
>>> use of VC pre-compiled headers (PCH). Windows builds with nmake/VC/PCH
>>> takes a few minutes, versus 20-35min builds on equivalent Linux/Solaris
>>> systems. So it's significant and something (the performance) that we
>>> want
>>> to keep. If a GNU Makefile using VC/PCH can match nmake is an open
>>> question.
>>
>> This is interesting.  I guess the Linux build isn't using PCH too?
> 
> The gcc compilers and Sun Studio compilers we have used in the past either
> didn't have PCH capability or didn't have stable enough ones.
> It's been my experience that each PCH implementation is unique in some
> way, varied implementation techniques, with varied performance benefits.
> The gcc we have used (version 3 based) did not have a good PCH solution
> (gcc 4 supposedly has one now?),
> and the Sun Studio Compilers just recently got a stable PCH system.

I haven't used it, but it's supposed to be pretty good.  Apple use it
all the time.

> On Windows, none of the [ parallel make options ] options are available or show little
> benefit. So far PCH has been the best answer, which the Hotspot team
> has done but the rest of the jdk's native sources aren't quite as
> normalized as the Hotspot sources.
> 
> Maybe the Windows issue is the higher cost of process startup/warmup?
> Fewer processes with more work to do is a better Windows situation?
> I'm guessing of course...
> 
>>
>>> I have tried using parallel GNU make and batch compiles in the jdk
>>> builds, and seen benefits on Linux and Solaris, but not much with
>>> Windows.
>>
>> Ah, that is important: IME builds scale almost linearly with the number
>> of processors.
> 
> What is IME?

In My Experience.  :-)

Andrew.



More information about the build-dev mailing list