RFR: 8309976: A JMH to create a lot of classes and compiled methods [v2]

Eric Caspole ecaspole at openjdk.org
Tue Jun 20 14:01:14 UTC 2023


> Most benchmarks have a relatively small code footprint compared to enterprise applications. While trying to model an application with a very large code footprint, we developed this JMH with its own classloader generating the desired number of classes from the string literal in the file, using the existing InMemoryJavaCompiler. Then these classes are are instantiated to the desired count, and methods are called in those objects, which can fill up the code cache, possibly causing code cache sweeping or compiler shut-off. 
> This allows to create a simulation of a large application with arbitrary java heap and code cache footprint, and take advantage of the benefits of JMH at the same time.
> The defaults are set very low by default and the intent is that they would be customized for any given study.

Eric Caspole has updated the pull request incrementally with two additional commits since the last revision:

 - Update test/micro/org/openjdk/bench/vm/compiler/CodeCacheStress.java
   
   Co-authored-by: Aleksey Shipilëv <shipilev at amazon.de>
 - Update test/micro/org/openjdk/bench/vm/compiler/CodeCacheStress.java
   
   Co-authored-by: Aleksey Shipilëv <shipilev at amazon.de>

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/14521/files
  - new: https://git.openjdk.org/jdk/pull/14521/files/6922b9dd..e182ab98

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14521&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14521&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/14521.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14521/head:pull/14521

PR: https://git.openjdk.org/jdk/pull/14521


More information about the hotspot-compiler-dev mailing list