Skip to content

Commit 53e60ad

Browse files
authored
Change README to make images target the default build command (#253)
Also change the language to make it clearer that exploded images must not be used for performance builds.
1 parent 0ed99cd commit 53e60ad

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,20 +112,23 @@ $ sh configure --disable-warnings-as-errors --with-debug-level=$DEBUG_LEVEL
112112

113113
Then build OpenJDK (this will build MMTk as well):
114114

115-
```console
116-
$ make CONF=linux-x86_64-normal-server-$DEBUG_LEVEL THIRD_PARTY_HEAP=$PWD/../mmtk-openjdk/openjdk
117-
```
118-
119-
The output jdk is at `./build/linux-x86_64-normal-server-$DEBUG_LEVEL/jdk`.
120-
121-
**Note:** The above `make` command will build what is known as the [`default` target or "exploded image"](https://github.com/openjdk/jdk11u/blob/master/doc/building.md#Running-make). This build is exclusively meant for developers who want quick and incremental builds to test changes. If you are planning on evaluating your build (be it performance, minimum heap, etc.), then it is *highly advised* to use the `images` target. The `default` target is the (roughly) minimal set of outputs required to run the built JDK and is not guaranteed to run all benchmarks. It may have bloated minimum heap values as well. The `images` target can be built like so:
122-
123115
```console
124116
$ make CONF=linux-x86_64-normal-server-release THIRD_PARTY_HEAP=$PWD/../mmtk-openjdk/openjdk images
125117
```
126118

127119
The output jdk is then found at `./build/linux-x86_64-normal-server-release/images/jdk`.
128120

121+
> **Note:** The above `make` command will build the `images` target, which is a proper release build of OpenJDK. It is **essential** that you use this target if you are planning on evaluating your build (e.g. measuring performance, gathering minimum heap values, etc). However, if you are simply developing and building incremental changes often, you may want to use the [`default` target or "exploded image"](https://github.com/openjdk/jdk11u/blob/master/doc/building.md#Running-make), which has a marginally shorter build time. However, be wary, as the exploded image is the (roughly) minimal set of outputs required to run the built JDK and is not guaranteed to run all benchmarks. It may have bloated minimum heap values as well.
122+
>
123+
> The exploded image can be built as follows. The output jdk can be found at `./build/linux-x86_64-normal-server-$DEBUG_LEVEL/jdk`.
124+
>
125+
> ```console
126+
> $ make CONF=linux-x86_64-normal-server-$DEBUG_LEVEL THIRD_PARTY_HEAP=$PWD/../mmtk-openjdk/openjdk
127+
> ```
128+
>
129+
> Again: **do not use the exploded image for performance analysis**.
130+
131+
129132
### Profile-Guided Optimized Build
130133
131134
In order to get the best performance, we recommend using a profile-guided

0 commit comments

Comments
 (0)