RFR: JDK-8144039: Enable javac server by default

David Holmes david.holmes at oracle.com
Thu Nov 26 04:57:39 UTC 2015


Hi Erik, Magnus,

Has this been extensively tested with all our build environments?

It's been a while so could you give an overview of exactly how the 
sjavac thing works.

Changes that affect every single person building the JDK should not be 
rushed through!

Thanks,
David

On 26/11/2015 12:47 AM, Magnus Ihse Bursie wrote:
> On 2015-11-25 15:45, Erik Joelsson wrote:
>> Doh, here you go:
>>
>> diff -r 358fb90ae6e6 common/autoconf/build-performance.m4
>> --- a/common/autoconf/build-performance.m4
>> +++ b/common/autoconf/build-performance.m4
>> @@ -411,9 +411,9 @@
>>    AC_MSG_RESULT([$ENABLE_SJAVAC])
>>    AC_SUBST(ENABLE_SJAVAC)
>>
>> -  AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--enable-javac-server],
>> -      [use only the server part of sjavac for faster javac compiles
>> @<:@disabled@:>@])],
>> -      [ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER="no"])
>> +  AC_ARG_ENABLE([javac-server],
>> [AS_HELP_STRING([--disable-javac-server],
>> +      [disable javac server @<:@enabled@:>@])],
>> +      [ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER="yes"])
>>    if test "x$JVM_ARG_OK" = "xfalse"; then
>>      AC_MSG_WARN([Could not set -Xms${MS_VALUE}M -Xmx${MX_VALUE}M,
>> disabling javac server])
>>      ENABLE_JAVAC_SERVER="no"
>>
> Looks good to me.
>
> /Magnus
>
>> /Erik
>>
>> On 2015-11-25 15:38, Magnus Ihse Bursie wrote:
>>> On 2015-11-25 15:11, Erik Joelsson wrote:
>>>> Hello,
>>>>
>>>> The --enable-javac-server feature seems to be working well and is
>>>> providing considerable speedup when building the JDK. We should make
>>>> the option enabled by default.
>>>>
>>>> As an example, on my local machine, a run of "make exploded-image"
>>>> without javac server took 00:04:09 and with javac server 00:03:20.
>>>> On machines with less cpus I have seen even bigger improvements.
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8144039
>>>> Patch:
>>>> diff -r 358fb90ae6e6 common/autoconf/build-performance.m4
>>>> --- a/common/autoconf/build-performance.m4
>>>> +++ b/common/autoconf/build-performance.m4
>>>> @@ -413,7 +413,7 @@
>>>>
>>>>    AC_ARG_ENABLE([javac-server],
>>>> [AS_HELP_STRING([--enable-javac-server],
>>>>        [use only the server part of sjavac for faster javac compiles
>>>> @<:@disabled@:>@])],
>>>> -      [ENABLE_JAVAC_SERVER="${enableval}"],
>>>> [ENABLE_JAVAC_SERVER="no"])
>>>> +      [ENABLE_JAVAC_SERVER="${enableval}"],
>>>> [ENABLE_JAVAC_SERVER="yes"])
>>>>    if test "x$JVM_ARG_OK" = "xfalse"; then
>>>>      AC_MSG_WARN([Could not set -Xms${MS_VALUE}M -Xmx${MX_VALUE}M,
>>>> disabling javac server])
>>>>      ENABLE_JAVAC_SERVER="no"
>>>> diff -r 358fb90ae6e6 common/autoconf/generated-configure.sh
>>>
>>> I like that you enable javac-server by default. But the patch was a
>>> bit too hurried. :)
>>>
>>> When you change the default value, you are also in fact reversing the
>>> logic of the configure option. As in other such options, the string
>>> listed for AS_HELP_STRING should be "--disable-javac-server", and the
>>> default value listed should be "enabled".
>>>
>>> /Magnus
>>
>



More information about the build-dev mailing list