record object number in AgeTable for G1

Thomas Schatzl thomas.schatzl at oracle.com
Thu Jan 17 10:43:40 UTC 2019


Hi,

On Wed, 2019-01-16 at 01:29 +0000, 臧琳 wrote:
> Hi Thomas, 
>       Thanks for your suggestion, I will try to get some performance
> number. Btw, do you have any recommendation of the benchmark/micro-
> bench for pause time measurement? 

  I would start with a simple JMH benchmark that copies over quite a
lot of data.[0]

Try to reduce variance in the results by e.g. fixing generation sizes
and maxing out region size (to decrease the overhead of allocating new
regions).

Btw, g1's "Object Copy" phase readings are probably exactly what you
want to look at btw.

Specjbb2005 [3] pause times tend to also be somewhat sensitive to
changes to the evacuation loop. At least it is very reproducible.

There are other benchmarks like the DaCapo benchmark [4] (or Scalabench
[5]) available, but from a GC POV they tend to be a bit too small for
reasonable heap sizes/systems for good measurements.

After that, look at Specjbb2015 if you have access to it. A regression
in critical-jops would basically be a no-go unless there is significant
other gains elsewhere.

Note that with current machines (depending on what you have) you
probably want to run with quite large configurations to reduce the
impact of noise.

Before going into this lengthy testing process, that I would like to
ask what you think the gain from this information (number of objects
per age group) would be?

I admit that I once or maybe twice hacked information like this in for
some investigations, but it do not remember it yielding interesting
enough information to base decisions on it. I always ended up adding
more instrumentation, that was way too intrusive for the product...

Lastly, there are some procedural issues that we need to cover before
we can accept a patch: are you covered by an Oracle Contributor
Agreement (either individually or via an employer who is sponsoring
this work)? 
I haven't found your name (that is, the Pinyin for the name you used in
this email) so you don't appear to be covered and this needs to be
dealt first [1].

Since you also seem to be a first-time contributor, you need a sponsor
of the patch to help you with procedural issues (like getting a bug id
in the bug tracker). For the actual review, changes of more than some
trivial extent generally get packaged for review using the webrev tool,
and published on cr.openjdk.java.net [2]. Your sponsor can also help
you with that.

A sponsor should be someone currently involved in OpenJDK GC
development, preferably in an area related to the patch. It's not
required that they be an Oracle employee, though for some things that
might help. I can help you find someone. (It might be me, but I don't
want to commit to that today.)

Thanks,
  Thomas

[0] http://openjdk.java.net/projects/code-tools/jmh/
[1] https://openjdk.java.net/contribute/
[2] https://openjdk.java.net/guide/codeReview.html
[3] http://www.spec.org/jbb2005/
[4] http://dacapobench.org/
[5] http://scalabench.org/





More information about the hotspot-gc-dev mailing list