Experimental options in official builds ?
Pierre Laporte
pierre at pingtimeout.fr
Wed Oct 2 09:27:35 PDT 2013
Hi guys
I just discovered that you can unlock experimental VM options in a regular
build of the JDK.
This page<http://www.programmingforliving.com/2013/08/how-to-speed-up-eclipse-sts-startup.html>tells
that unlocking some experimental features can speed up Spring
ToolSuite. I made some tests on jdk 1.7.0_25 and 1.7.0_40 on linux machines
and I can indeed modify experimental flags. I thought that experimental
flags were only for debug build.
Is this normal ?
$ java -XX:+PrintFlagsFinal -version | grep experimental
java version "1.7.0_40"
OpenJDK Runtime Environment (IcedTea 2.4.2) (ArchLinux build
7.u40_2.4.2-1-x86_64)
OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)
$ java *-XX:+UnlockExperimentalVMOptions* -XX:+PrintFlagsFinal -version |
grep experimental
uintx ArrayAllocatorMallocLimit =
18446744073709551615{experimental}
intx G1ExpandByPercentOfAvailable = 20
{experimental}
ccstr G1LogLevel =
{experimental}
uintx G1MaxNewSizePercent = 60
{experimental}
uintx G1MixedGCLiveThresholdPercent = 65
{experimental}
uintx G1NewSizePercent = 5
{experimental}
uintx G1OldCSetRegionThresholdPercent = 10
{experimental}
bool G1UseConcMarkReferenceProcessing = true
{experimental}
bool G1UseParallelRSetScanning = true
{experimental}
bool G1UseParallelRSetUpdating = true
{experimental}
double ObjectCountCutOffPercent = 0.500000
{experimental}
intx PredictedLoadedClassCount = 0
{experimental}
bool TrustFinalNonStaticFields = false
{experimental}
* bool UnlockExperimentalVMOptions := true
{experimental} *
bool UseCriticalCMSThreadPriority = false
{experimental}
bool UseCriticalCompilerThreadPriority = false
{experimental}
bool UseCriticalJavaThreadPriority = false
{experimental}
bool UseMemSetInBOT = true
{experimental}
uintx WorkStealingHardSpins = 4096
{experimental}
intx WorkStealingSleepMillis = 1
{experimental}
uintx WorkStealingSpinToYieldRatio = 10
{experimental}
uintx WorkStealingYieldsBeforeSleep = 5000
{experimental}
java version "1.7.0_40"
OpenJDK Runtime Environment (IcedTea 2.4.2) (ArchLinux build
7.u40_2.4.2-1-x86_64)
OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)
$ java *-XX:+UnlockExperimentalVMOptions* -XX:+PrintFlagsFinal *
-XX:+TrustFinalNonStaticFields* -version | grep experimental
uintx ArrayAllocatorMallocLimit =
18446744073709551615{experimental}
intx G1ExpandByPercentOfAvailable = 20
{experimental}
ccstr G1LogLevel =
{experimental}
uintx G1MaxNewSizePercent = 60
{experimental}
uintx G1MixedGCLiveThresholdPercent = 65
{experimental}
uintx G1NewSizePercent = 5
{experimental}
uintx G1OldCSetRegionThresholdPercent = 10
{experimental}
bool G1UseConcMarkReferenceProcessing = true
{experimental}
bool G1UseParallelRSetScanning = true
{experimental}
bool G1UseParallelRSetUpdating = true
{experimental}
double ObjectCountCutOffPercent = 0.500000
{experimental}
intx PredictedLoadedClassCount = 0
{experimental}
* bool TrustFinalNonStaticFields := true
{experimental}
bool UnlockExperimentalVMOptions := true
{experimental} *
bool UseCriticalCMSThreadPriority = false
{experimental}
bool UseCriticalCompilerThreadPriority = false
{experimental}
bool UseCriticalJavaThreadPriority = false
{experimental}
bool UseMemSetInBOT = true
{experimental}
uintx WorkStealingHardSpins = 4096
{experimental}
intx WorkStealingSleepMillis = 1
{experimental}
uintx WorkStealingSpinToYieldRatio = 10
{experimental}
uintx WorkStealingYieldsBeforeSleep = 5000
{experimental}
java version "1.7.0_40"
OpenJDK Runtime Environment (IcedTea 2.4.2) (ArchLinux build
7.u40_2.4.2-1-x86_64)
OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)
--
Pierre Laporte
@pingtimeout <https://twitter.com/pingtimeout>
pierre at pingtimeout.fr
http://www.pingtimeout.fr/
More information about the hotspot-dev
mailing list