As part of the fix for 7113021 we introduced two new develop flags that are used as default values for the minimum and maximum size of the G1 young gen. Initially we set these to 20% and 50% respectively. Monica has now been running some performance tests to see if it would be better with other default values. It looks like we would benefit from a larger maximum value. It should be pretty safe to have a large maximum value. The heuristics in G1 calculates the actual young gen size based on the pause target. So, just because we have a large max does not mean that we will ever get a young gen that big. Also, it is always possible to override the default value with -XX:MaxNewSize. Here are some SPECjbb2005 results from Monica: Min 20, Max 77: Valid run, Score is 356592; Full GC (outside of the system GCs): 0 Min 33, Max 77: Valid run, Score is 353053; Full GC (outside of the system GCs): 0 Min 20, Max 60: Valid run, Score is 352318; Full GC (outside of the system GCs): 2 Min 15, Max 77: Valid run, Score is 349376; Full GC (outside of the system GCs): 0 default (Min: 20, Max 50): Valid run, Score is 347647; Full GC (outside of the system GCs): 2 Min 20, Max 70: Valid run, Score is 346375; Full GC (outside of the system GCs): 0 Min 33, Max 60: Valid run, Score is 333381; Full GC (outside of the system GCs): 0 For comparison: parallelold: Valid run, Score is 358668; Full GC (outside of the system GCs): 13
|