We REALLY nead a NON-PCH build in JPRT NOW!

Dmitry Samersoff dmitry.samersoff at oracle.com
Fri May 8 22:35:12 UTC 2015


Volker,

Thank you for the numbers.

I had a goal to get my own opinion about PCH and JPRT. And I think we
can safely turn PCH off for all JPRT builds.

-Dmitry

On 2015-05-08 20:04, Volker Simonis wrote:
> On Thu, Apr 23, 2015 at 7:13 PM, Dmitry Samersoff
> <dmitry.samersoff at oracle.com> wrote:
>> Everyone,
>>
>> FYI,
>>
>> Did small benchmark for entire JDK clean build on my laptop
>> - linux-xfs, core I5, 8G, SSD, idle.
>>
>> As expected, PCH doesn't really affects a clean build.
>>
>> Numbers below:
>>
>> ** ccache,  no pch, no javac
>>
>> Finished building Java(TM) for target 'default'
>> 12079.395u 320.784s 58:20.54 354.2%     0+0k 0+0io 56pf+0w
>>
>> ** no ccache, pch, no javac
>>
>> Finished building Java(TM) for target 'default'
>> 12847.053u 340.212s 59:07.99 371.6%     0+0k 0+0io 0pf+0w
>>
>> ** no ccache, no pch, no javac
>>
>> Finished building Java(TM) for target 'default'
>> 12493.502u 298.802s 54:36.23 390.4%     0+0k 0+0io 17pf+0w
>>
> 
> Hi Dmitry,
> 
> from my experience, PCH helps most if you have a slow file system. You
> have measured with a SSD which reduces the gains of PCH.
> 
> Also, because currently only the HotSpot build supports PCH, comparing
> build numbers of a complete JDK builds is a little misleading because
> the HotSpot build is only a small part of the complete build.
> 
> Doing a 'make hotspot-only JOBS=8' build on Linux/ppc64 with the
> sources on a NFS share gives the following results:
> 
> with PCH:
> real    3m6.580s
> user    6m44.423s
> sys    2m5.348s
> 
> without PCH:
> real    3m48.296s
> user    12m20.448s
> sys    1m41.423s
> 
> As you can see, the non-PCH build consumes nearly twice as much user
> time as the PCH build, so the PCH build can still be useful in certain
> environments.
> 
> Regards,
> Volker
> 
>> -Dmitry
>>
>>
>>
>> On 2015-04-23 18:19, Coleen Phillimore wrote:
>>>
>>> On 4/23/15, 3:42 AM, Andrew Haley wrote:
>>>> On 23/04/15 00:42, Coleen Phillimore wrote:
>>>>> On 4/22/15, 3:57 AM, Andrew Haley wrote:
>>>>>> On 22/04/15 03:01, Daniel D. Daugherty wrote:
>>>>>>> Personally, I like the idea of not adding any more new JPRT targets
>>>>>>> and reconfiguring to have fastdebug and/or debug builds run as
>>>>>>> non-PCH...
>>>>>>> It's a much simpler policy to explain:
>>>>>>>
>>>>>>>        If we support PCH builds with a particular toolset then product
>>>>>>>        builds default to PCH and non-product builds default to no-PCH.
>>>>>> But the debug builds are used in development all the time.  It's
>>>>>> these that really benefit from PCH.
>>>>> I feel like PCH makes development slower.  I change a header file and
>>>>> all the files in the system are recompiled because it happens to be in
>>>>> the precompiled file.
>>>> But that'll happen anyway if the change you made is to one of the common
>>>> headers.  I can't see that it makes any difference.
>>>>
>>>> Maybe it depends on what you're working on?
>>>
>>> linkResolver.hpp - maybe it's one that doesn't belong in precompiled.hpp
>>> but I suspect a lot of files fall into that category.  If PCH doesn't
>>> really make builds that much faster, why have it?  I'm planning to
>>> change my script that calls configure to not use precompiled headers.
>>>
>>> Thanks,
>>> Coleen
>>>
>>>>
>>>> Andrew.
>>>>
>>>
>>
>>
>> --
>> Dmitry Samersoff
>> Oracle Java development team, Saint Petersburg, Russia
>> * I would love to change the world, but they won't give me the sources.


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the hotspot-dev mailing list