On Tue, 9 Nov 2021 14:57:52 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:

> We already have an --enable-reproducible-builds. If (and I say if) we need to 
> turn this on/off with a flag, this would to fine.
> 
> However, as I have said previously in a private discussion with Andrew, I 
> prefer it if we can make reproducible builds so cheap, reliable and 
> uncontroversial so we can always to reproducible builds, and remove that flag.
> 
> For this case, I think it depends on two things:
> 
>     1. the extra time to make the zip file reproducible. Some benchmarking on 
> the GenerateZip for src.zip would be good to have, at least for some ballpark 
> figures.
> 
>     2. When is src.zip built? (I don't remember right now) If it is part of 
> the exploded-image, then it is really time sensitive (and should maybe move 
> out of that target). If it part of the jdk-image, I'd say it is not as 
> sensitive, due to
>        a) this is very much slower anyway, and
>        b) that part is much more parallelizible, so src.zip can be produced 
> while waiting for jlink or whatever.

@magicus
1) I'll do some rough benchmarks
2) "zip-source" is only dependent on "gensrc", ie.all module -gensrc stages 
must have completed, so in theory it should run in parallel while the linking 
goes on, a quick scan of a parallel build log seems to confirm that, the 
"Updating support/src.zip" occurs quite some time before the exploded image 
linking:

20:34:45  Compiling 31 files for jdk.management.agent
20:34:45  Compiling 16 files for jdk.security.jgss
20:34:45  Compiling 30 files for jdk.security.auth
20:34:45  Creating support/native/java.security.jgss/libj2gss/static/libj2gss.a 
from 3 file(s)
20:34:45  Updating support/src.zip
20:34:46  Creating 
support/native/jdk.management.agent/libmanagement_agent/static/libmanagement_agent.a
 from 1 file(s)
20:34:46  Creating support/native/jdk.security.auth/libjaas/static/libjaas.a 
from 1 file(s)
20:34:48  Compiling 136 files for jdk.jdeps
20:34:48  Creating support/test/lib-test/jtreg/native/bin/jvm-test-launcher 
from 1 file(s)
20:34:49  Creating support/modules_libs/java.base/libverify.so from 1 file(s)
.........
20:36:17  Optimizing the exploded image
20:36:18  Creating java.datatransfer.jmod
20:36:18  Creating java.instrument.jmod
20:36:18  Creating java.compiler.jmod

-------------

PR: https://git.openjdk.java.net/jdk/pull/6311

Reply via email to