[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-compiler-dev
Subject:    Re: RFR: JDK-8182285: Speeding up incremental build by hashing module APIs
From:       Magnus Ihse Bursie <magnus.ihse.bursie () oracle ! com>
Date:       2017-10-19 14:37:25
Message-ID: 96ef3001-a236-5772-3bcb-4e00b909a6ce () oracle ! com
[Download RAW message or body]

On 2017-10-19 15:47, Erik Joelsson wrote:
> This patch introduces a new Javac plugin as a build tool, written by 
> Jan Lahoda. The plugin creates a hash of the public API of what is 
> being compiled and puts it in a file. The file is only updated if 
> there is a difference compared to the current contents of the file. I 
> have provided the integration with the build system.
>
> The benefit of this is that we finally get some reasonable incremental 
> build performance between modules. If you make a change to a class in 
> java.base that doesn't touch the public API, the build will no longer 
> recompile all other modules.
>
> Webrev: http://cr.openjdk.java.net/~erikj/8182285/webrev.02/
Looks good to me.

Nice to finally see this happening! :-)

/Magnus
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8182285
>
> /Erik
>


[Attachment #3 (text/html)]

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 2017-10-19 15:47, Erik Joelsson
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:373705b4-c9a5-0eab-11f8-28895442e5c6@oracle.com">This
      patch introduces a new Javac plugin as a build tool, written by
      Jan Lahoda. The plugin creates a hash of the public API of what is
      being compiled and puts it in a file. The file is only updated if
      there is a difference compared to the current contents of the
      file. I have provided the integration with the build system.
      <br>
      <br>
      The benefit of this is that we finally get some reasonable
      incremental build performance between modules. If you make a
      change to a class in java.base that doesn't touch the public API,
      the build will no longer recompile all other modules.
      <br>
      <br>
      Webrev: <a class="moz-txt-link-freetext" \
href="http://cr.openjdk.java.net/~erikj/8182285/webrev.02/">http://cr.openjdk.java.net/~erikj/8182285/webrev.02/</a>
  <br>
    </blockquote>
    Looks good to me.<br>
    <br>
    Nice to finally see this happening! :-)<br>
    <br>
    /Magnus<br>
    <blockquote type="cite"
      cite="mid:373705b4-c9a5-0eab-11f8-28895442e5c6@oracle.com">
      <br>
      Bug: <a class="moz-txt-link-freetext" \
href="https://bugs.openjdk.java.net/browse/JDK-8182285">https://bugs.openjdk.java.net/browse/JDK-8182285</a>
  <br>
      <br>
      /Erik
      <br>
      <br>
    </blockquote>
    <br>
  </body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic