Bin*_*mas 31 java performance jvm
从Sun JRE 性能调优白皮书中,-XX:+AggressiveOpts
flag被描述为:
打开在即将发布的版本中默认打开的点性能优化.按此标志分组的更改是对JVM运行时编译代码的微小更改,而不是不同的性能功能(例如BiasedLocking和ParallelOldGC).这是尝试JVM工程团队即将发布的最新性能调整的好旗帜.注意:此选项是实验性的!此选项启用的特定优化可以在发行版之间进行更改,甚至可以构建到构建版本.在部署新版本的Java之前,您应该重新评估此选项的效果.
我的性能测试表明,使用-XX:+AggressiveOpts
实际上有助于我的应用程序,但由于这被标记为实验我想要小心它(我过去曾被它烧过).所以,我想知道-XX:+AggressiveOpts
1.6u20 上启用了哪些标志.通常我通过查看文件中的方法Arguments::set_aggressive_opts_flags()
来做到这一点hotspot/src/share/vm/runtime/arguments.cpp
,但我无法在http://download.java.net/jdk6/source/找到1.6u20的源代码.
-XX:+AggressiveOpts
启用?val*_*zka 41
检查特定版本:
java -XX:-AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > no_agg
java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > agg
Run Code Online (Sandbox Code Playgroud)
然后制作diff(diff -U0 no_agg agg
).
例如,jdk 1.7.0_51:
- bool AggressiveOpts := false {product}
+ bool AggressiveOpts := true {product}
- intx AutoBoxCacheMax = 128 {C2 product}
+ intx AutoBoxCacheMax = 20000 {C2 product}
- intx BiasedLockingStartupDelay = 4000 {product}
+ intx BiasedLockingStartupDelay = 500 {product}
- bool UseFPUForSpilling = false {C2 product}
+ bool UseFPUForSpilling = true {C2 product}
Run Code Online (Sandbox Code Playgroud)
Jdk 1.8.0:
- bool AggressiveOpts := false {product}
+ bool AggressiveOpts := true {product}
- intx AutoBoxCacheMax = 128 {C2 product}
+ intx AutoBoxCacheMax = 20000 {C2 product}
- intx BiasedLockingStartupDelay = 4000 {product}
+ intx BiasedLockingStartupDelay = 500 {product}
- bool EliminateAutoBox = false {C2 product}
+ bool EliminateAutoBox = true {C2 product}
- bool UseFPUForSpilling = false {C2 product}
+ bool UseFPUForSpilling = true {C2 product}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30489 次 |
最近记录: |