• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Lilliput
  4. Performance Testing for JEP 450: Compact Object Headers

Performance Testing for JEP 450: Compact Object Headers

  • Created by Roman Kennke, last modified on Oct 21, 2024

SPECjvm

This is SPECjvm2008 modified to run with JDK24. Scores are ops/min, more is better. All benchmarks have been run on a AWS c5.9xlarge instance.

JVM flags: -Xms8g -Xms8g -XX:+AlwaysPreTouch

Notes: The CryptoRsa benchmark shows a legit regression of ~2%. I confirmed this by running 50 times (most benchmarks are run 3 times). The regression disappears when improving oopDesc::klass().


Benchmark

Baseline

-UCOH

%

+UCOH

%

Compiler.compiler

1127.077

1127.628

0.04%

1150.953

2.11%

Compiler.sunflow

3121.071

3190.964

2.23%

3202.471

2.60%

Compress

3100.924

3114.255

0.42%

3037.949

-2.04%

CryptoAes

214.615

215.491

0.40%

212.788

-0.86%

CryptoRsa

10284.167

10094.019

-1.85%

10110.913

-1.69%

CryptoSignVerify

48591.761

48541.003

-0.11%

48107.972

-1.00%

Derby

3646.723

3620.906

-0.71%

3598.845

-1.32%

MpegAudio

1012.491

1011.096

-0.14%

1005.387

-0.71%

ScimarkFFT.large

278.913

278.937

0.00%

278.613

-0.11%

ScimarkFFT.small

3348.048

3374.245

0.78%

3276.573

-2.14%

ScimarkLU.large

21.737

21.771

0.15%

21.640

-0.45%

ScimarkLU.small

5876.355

5870.420

-0.11%

5867.935

-0.15%

ScimarkMonteCarlo

17635.373

17767.207

0.74%

17845.029

1.18%

ScimarkSOR.large

324.000

322.590

-0.44%

322.137

-0.58%

ScimarkSOR.small

1647.129

1647.330

0.01%

1648.043

0.05%

ScimarkSparse.large

196.737

196.639

-0.05%

196.934

0.10%

ScimarkSparse.small

1305.586

1294.917

-0.82%

1289.868

-1.21%

Serial

48075.242

48503.947

0.89%

48583.323

1.05%

Sunflow

667.590

673.791

0.92%

701.846

5.13%

XmlTransform

2005.798

2016.622

0.53%

1965.465

-2.02%

XmlValidation

4503.275

4486.646

-0.37%

4485.866

-0.39%

Renaissance

This is renaissance-jmh-0.15.0, excluding Als, ChiSquare, DecTree, GaussMix, LogRegression, MovieLens, NaiveBayes, PageRank and DbShootout, which are not compatible with JDK24 due to SecurityManager restriction. Scores are ms/op, less is better. All benchmarks have been run on a AWS c5.9xlarge instance.

JVM flags: -Xms8g -Xms8g -XX:+AlwaysPreTouch

Benchmark

Baseline

-UCOH

%

+UCOH

%

AkkaUct

799.526

796.987

-0.32%

792.829

-0.84%

Reactors

15192.454

15070.100

-0.81%

14533.405

-4.34%

FjKmeans

1048.697

1049.511

0.07%

953.387

-9.09%

FutureGenetic

2011.925

1991.429

-1.02%

2072.172

2.99%

Mnemonics

2760.609

2739.520

-0.77%

2824.556

2.31%

ParMnemonics

2270.166

2286.626

0.72%

2304.885

1.52%

Scrabble

53.150

53.525

0.70%

55.052

3.57%

Neo4jAnalytics

1482.061

1479.183

-0.20%

1511.736

2.00%

RxScrabble

104.344

103.626

-0.69%

105.156

0.77%

Dotty

697.111

700.798

0.52%

700.191

0.44%

ScalaKmeans

175.545

177.320

1.01%

188.345

7.29%

Philosophers

5598.596

5645.268

0.83%

6379.457

13.94%

ScalaStmBench7

1010.489

1018.077

0.75%

999.638

-1.08%

FinagleChirper

3643.971

3629.694

-0.40%

3681.006

1.01%

FinagleHttp

3392.307

3338.891

-1.58%

3269.203

-3.63%

SPECjbb2015

SPECjbb2015 in composite mode, run on a AWS c5.9xlarge instance, 10 times in a row, scores averaged over all runs. More is better.

JVM flags: -Xms20g -Xms20g -XX:+AlwaysPreTouch

Score

Baseline

-UCOH

%

+UCOH

%

max-jops

49818

49700

-0.24%

51652

3.68%

critial-jops

39139

38726

-1.06%

41219

5.31%




SPECjbb2015 (run at Red Hat)

The following tests were run at Red Hat on a bare metal RHEL9 x64 i7-4770 8core machine, with the benchmark process isolated on 6 cores, 10 consecutive runs, all scores averaged. Perf statistics were done for the full benchmark process run, therefore include warmup and report generation.

JVM flags: -Xshare:off -Xlog:gc* -XX:+UseG1GC -Xms4g -Xms4g


-COH+COH%
maxjops10136.610823.6+6.78%
critjops37423995.6+6.78%
Number of GCs4971.83469.8-30.21%
GC Real Times, Sum, seconds350.34273-22.08%
GC User Times, Sum, seconds2031.831588.63-21.81%
GC Sys Times, Sum, seconds3.072.2-28.34%
L1 Misses1294363538563.41109038645193.3-14.32%
L1 Loads25511385965443.621610503370719.1-15.29%
LLC Misses273833668865.4212658994859.6-22.34%
LLC Loads655211047461.7555606059480-15.20%
TLB Misses37718612782.932378833894.3-14.16%
TLB Loads25308734883537.921437105901958.6-15.30%
Instructions83966573365463.872477839817765.8-13.68%
Branches15749934748078.213181107354563.9-16.31%


To measure the reduction in liveset size, the same benchmark was repeated with a periodic Full GC being scheduled every 5 minutes, and the liveset size was measured after every full GC:



-COH+COHPercentGains
Usage pre GC, MB3894.93216.682.58- 17.42
Usage post GC, MB1071.7885.982.66- 17.34







Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 211, "requestCorrelationId": "e4250b6d48c6c11c"}