1446 <p>It might also be necessary to specify the JVM arguments passed 1447 to the Bootstrap JDK, using e.g. 1448 <code>--with-boot-jdk-jvmargs="-Xmx8G -enableassertions"</code>. 1449 Doing this will override the default JVM arguments 1450 passed to the Bootstrap JDK.</p> 1451 1452 1453 <p>One of the top goals of the new build system is to improve the 1454 build performance and decrease the time needed to build. This will 1455 soon also apply to the java compilation when the Smart Javac wrapper 1456 is fully supported.</p> 1457 1458 <p>At the end of a successful execution of <code>configure</code>, 1459 you will get a performance summary, 1460 indicating how well the build will perform. Here you will 1461 also get performance hints. 1462 If you want to build fast, pay attention to those!</p> 1463 1464 <h4>Building with ccache</h4> 1465 1466 <p>A simple way to radically speed up compilation of native code 1467 (typically hotspot and native libraries in JDK) is to install 1468 ccache. This will cache and reuse prior compilation results, if the 1469 source code is unchanged. However, ccache versions prior to 3.1.4 1470 does not work correctly with the precompiled headers used in 1471 OpenJDK. So if your platform supports ccache at 3.1.4 or later, we 1472 highly recommend installing it. This is currently only supported on 1473 linux.</p> 1474 1475 <h4>Building on local disk</h4> 1476 1477 <p>If you are using network shares, e.g. via NFS, for your source code, 1478 make sure the build directory is situated on local disk. 1479 The performance 1480 penalty is extremely high for building on a network share, 1481 close to unusable.</p> 1482 1483 <h4>Building only one JVM</h4> 1484 1485 <p>The old build builds multiple JVMs on 32-bit systems (client and 1486 server; and on Windows kernel as well). In the new build we have 1487 changed this default to only build server when it's available. This 1488 improves build times for those not interested in multiple JVMs. To 1489 mimic the old behavior on platforms that support it, 1490 use <code>--with-jvm-variants=client,server</code>.</p> 1491 1492 <h4>Selecting the number of cores to build on</h4> 1493 | 1446 <p>It might also be necessary to specify the JVM arguments passed 1447 to the Bootstrap JDK, using e.g. 1448 <code>--with-boot-jdk-jvmargs="-Xmx8G -enableassertions"</code>. 1449 Doing this will override the default JVM arguments 1450 passed to the Bootstrap JDK.</p> 1451 1452 1453 <p>One of the top goals of the new build system is to improve the 1454 build performance and decrease the time needed to build. This will 1455 soon also apply to the java compilation when the Smart Javac wrapper 1456 is fully supported.</p> 1457 1458 <p>At the end of a successful execution of <code>configure</code>, 1459 you will get a performance summary, 1460 indicating how well the build will perform. Here you will 1461 also get performance hints. 1462 If you want to build fast, pay attention to those!</p> 1463 1464 <h4>Building with ccache</h4> 1465 1466 <p>The OpenJDK build supports building with ccache 1467 when using gcc or clang. Using ccache can 1468 radically speed up compilation of native code if 1469 you often rebuild the same sources. Your milage 1470 may vary however so we recommend evaluating it for 1471 yourself. To enable it, make sure it's on the path 1472 and configure with <code>--enable-ccache</code>.</p> 1473 1474 <h4>Building on local disk</h4> 1475 1476 <p>If you are using network shares, e.g. via NFS, for your source code, 1477 make sure the build directory is situated on local disk. 1478 The performance 1479 penalty is extremely high for building on a network share, 1480 close to unusable.</p> 1481 1482 <h4>Building only one JVM</h4> 1483 1484 <p>The old build builds multiple JVMs on 32-bit systems (client and 1485 server; and on Windows kernel as well). In the new build we have 1486 changed this default to only build server when it's available. This 1487 improves build times for those not interested in multiple JVMs. To 1488 mimic the old behavior on platforms that support it, 1489 use <code>--with-jvm-variants=client,server</code>.</p> 1490 1491 <h4>Selecting the number of cores to build on</h4> 1492 |