Performance Results

Performance Results

This report was generated on 2023-06-15 14:44:48.

The results are usually normalized either to Java JDK8 C2 or Java JDK8 Int, depending on whether we are interested in best or interpreter performance.

For VMs with just-in-time compilation, we report results based on the measurements starting from iteration 100. While this does not guarantee that we measure “peak performance”, it gives us relatively stable results for most language implementations.

Overview

Just-in-Time Compiling Language Implementations

The following set of language implementations reaches the performance of Java on our set of benchmarks within a factor of 2 to 3 on average. To allow for a more detailed assessment of these implementations, we exclude slower ones from the following plot.

plot of chunk jit-overview
Interpreters

Looking at interpreter performance, the plot looks quite a bit different. Here we use Java JDK8 Int as baseline.

plot of chunk int-overview
First Iteration

Looking at interpreter performance, the plot looks quite a bit different. Here we use Java JDK8 Int as baseline.

plot of chunk first-overview
Java Performance

Interpreter plot of chunk java-overview-int

C2

plot of chunk java-overview-c2
JavaScript Performance

plot of chunk js-overviewplot of chunk js-overview

Python Performance
plot of chunk python-overview plot of chunk python-overview-int
Ruby Performance
plot of chunk ruby-overview
SOM Performance
plot of chunk som-overview
SOM Interpreters Performance
plot of chunk som-int-overview
SOM Optimizations Performance
plot of chunk som-opt-overview
Performance Overview Data

The following table contains the numerical representation of the results depicted above.

  Runtime Factor over Java
median_ratio min_ratio max_ratio
Java JDK17 C2 0.98 0.84 1.37
Java ?? C2 0.99 0.85 1.37
Java-Temurin-17-jit 0.99 0.85 1.35
Java-Temurin-8-jit 1.00 0.96 1.02
Java JDK8 C2 1.00 1.00 1.00
Java-Temurin-20-jit 1.01 0.78 1.36
GraalVM Native EE 22.3 1.36 0.53 1.90
TruffleSOM AST Hotspot EE base 1.98 0.88 3.99
TruffleRuby EE 22.3 Hotspot 2.13 0.91 4.23
Node.js 20.3 2.17 0.91 2.82
TruffleSOM BC Hotspot EE base 2.18 0.96 4.99
Bun 0.6.9 2.18 0.82 4.43
Graal.js EE 22.3 Hotspot 2.31 0.68 5.62
TruffleSOM AST Hotspot CE base 2.58 0.99 3.61
TruffleSOM BC Hotspot CE base 2.91 1.11 5.58
GraalPython EE 22.3 Hotspot 2.91 0.81 5.13
PySOM BC JIT 3.09 1.11 8.35
PySOM AST JIT 4.31 0.99 19.86
PyPy 3.8 7.3.9 4.53 1.04 12.25
Ruby 3.1.0 yjit 25.33 9.97 61.21
Java JDK20 Int 27.50 4.71 57.18
Node.js 20.3 jitless 35.68 9.97 81.27
Bun 0.6.9 jitless 37.33 5.84 48.44
Ruby 3.1.0 41.31 12.88 89.81
Java-Temurin-8-int 46.05 5.13 181.77
Java JDK8 Int 46.08 5.18 183.73
CPython 3.11 48.92 10.95 79.19
Java-Temurin-17-int 54.43 4.48 179.82
TruffleSOM AST Native Int EE uber 55.00 1.19 132.49
Java JDK17 Int 57.13 4.60 188.28
PySOM AST Int 102.15 18.99 138.87
TruffleSOM AST Native Int EE super 106.77 18.39 167.66
PySOM BC Int 109.26 20.78 170.66
TruffleSOM AST Native Int EE base 114.81 23.20 170.03
TruffleSOM BC Native Int EE base 183.96 33.74 268.33
PyPy 3.8 7.3.9 Int 227.02 58.02 377.57
Graal.js EE 22.3 Native Int 233.02 36.73 505.37
TruffleRuby EE 22.3 Native Int 358.05 50.22 608.99
ykSOM Int 600.83 110.45 802.59
GraalPython EE 22.3 Native Int 738.71 68.74 1289.49
SOM-RS BC Int 1670.33 420.26 3127.36
SOM++ Int 3118.74 620.67 6614.88
SOM-RS AST Int 3673.31 822.01 6033.10
CSOM Int 5430.41 1364.01 15498.90

Details for all Benchmarks

The following plots show results for each of the benchmarks.

With JIT Compiler

plot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarksplot of chunk jit-benchmarks

Truffle Impl. Only

plot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarksplot of chunk jit-truffle-benchmarks

Interpreter Only

plot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarksplot of chunk int-benchmarks

Truffle Impl. Only

plot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarksplot of chunk int-truffle-benchmarks

Java+JavaScript Interpreter Only

plot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarksplot of chunk java-js-benchmarks

Java+JavaScript JIT Compiler Only

plot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jitplot of chunk java-js-benchmarks-jit

SOM Optimizations

plot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarksplot of chunk som-opt-benchmarks

TruffleSOM, Normalized to main

plot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overviewplot of chunk trufflesom-opt-overview

Benchmark Results

The following table contains the numerical results for all benchmarks.

exe mean
Bounce Java JDK17 C2 0.93
  Java ?? C2 0.94
  Java-Temurin-17-jit 0.94
  Java-Temurin-8-jit 0.96
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.03
  GraalVM Native EE 22.3 1.41
  TruffleSOM AST Hotspot EE base 1.33
  TruffleRuby EE 22.3 Hotspot 1.38
  Node.js 20.3 2.69
  TruffleSOM BC Hotspot EE base 1.97
  Bun 0.6.9 4.43
  Graal.js EE 22.3 Hotspot 2.34
  TruffleSOM AST Hotspot CE base 1.70
  TruffleSOM BC Hotspot CE base 2.91
  GraalPython EE 22.3 Hotspot 1.22
  PySOM BC JIT 2.03
  PySOM AST JIT 3.72
  PyPy 3.8 7.3.9 2.13
  Ruby 3.1.0 yjit 31.72
  Java JDK20 Int 25.74
  Node.js 20.3 jitless 81.27
  Bun 0.6.9 jitless 46.49
  Ruby 3.1.0 51.91
  Java-Temurin-8-int 35.44
  Java JDK8 Int 34.50
  CPython 3.11 70.88
  Java-Temurin-17-int 36.88
  TruffleSOM AST Native Int EE uber 71.64
  Java JDK17 Int 35.79
  PySOM AST Int 131.70
  TruffleSOM AST Native Int EE super 133.18
  PySOM BC Int 134.07
  TruffleSOM AST Native Int EE base 152.87
  TruffleSOM BC Native Int EE base 218.29
  PyPy 3.8 7.3.9 Int 339.89
  Graal.js EE 22.3 Native Int 505.37
  TruffleRuby EE 22.3 Native Int 439.80
  ykSOM Int 802.59
  GraalPython EE 22.3 Native Int 1231.11
  SOM-RS BC Int 3079.44
  SOM++ Int 5537.00
  SOM-RS AST Int 5870.93
  CSOM Int 12000.39
CD Java JDK17 C2 1.03
  Java ?? C2 1.04
  Java-Temurin-17-jit 1.04
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.07
  GraalVM Native EE 22.3 1.31
  TruffleSOM AST Hotspot EE base 1.88
  TruffleRuby EE 22.3 Hotspot 2.16
  Node.js 20.3 2.55
  TruffleSOM BC Hotspot EE base 2.44
  Bun 0.6.9 2.14
  Graal.js EE 22.3 Hotspot 2.28
  TruffleSOM AST Hotspot CE base 2.93
  TruffleSOM BC Hotspot CE base 3.52
  GraalPython EE 22.3 Hotspot 2.60
  PySOM BC JIT NaN
  PySOM AST JIT 15.38
  PyPy 3.8 7.3.9 6.88
  Ruby 3.1.0 yjit 27.78
  Java JDK20 Int 21.07
  Node.js 20.3 jitless 37.61
  Bun 0.6.9 jitless 35.78
  Ruby 3.1.0 49.87
  Java-Temurin-8-int 50.08
  Java JDK8 Int 49.93
  CPython 3.11 56.93
  Java-Temurin-17-int 45.63
  TruffleSOM AST Native Int EE uber 72.82
  Java JDK17 Int 58.62
  PySOM AST Int 116.01
  TruffleSOM AST Native Int EE super 145.90
  PySOM BC Int 134.74
  TruffleSOM AST Native Int EE base 150.89
  TruffleSOM BC Native Int EE base 184.51
  PyPy 3.8 7.3.9 Int 278.19
  Graal.js EE 22.3 Native Int 278.56
  TruffleRuby EE 22.3 Native Int 360.90
  ykSOM Int NaN
  GraalPython EE 22.3 Native Int 723.07
  SOM-RS BC Int 1798.46
  SOM++ Int 3082.34
  SOM-RS AST Int 4436.68
  CSOM Int NaN
DeltaBlue Java JDK17 C2 0.97
  Java ?? C2 0.98
  Java-Temurin-17-jit 1.00
  Java-Temurin-8-jit 1.01
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.01
  GraalVM Native EE 22.3 1.00
  TruffleSOM AST Hotspot EE base 1.84
  TruffleRuby EE 22.3 Hotspot 1.63
  Node.js 20.3 2.00
  TruffleSOM BC Hotspot EE base 2.16
  Bun 0.6.9 2.62
  Graal.js EE 22.3 Hotspot 1.73
  TruffleSOM AST Hotspot CE base 2.82
  TruffleSOM BC Hotspot CE base 2.90
  GraalPython EE 22.3 Hotspot 5.13
  PySOM BC JIT 3.53
  PySOM AST JIT 4.36
  PyPy 3.8 7.3.9 4.77
  Ruby 3.1.0 yjit 22.82
  Java JDK20 Int 29.58
  Node.js 20.3 jitless 31.42
  Bun 0.6.9 jitless 40.46
  Ruby 3.1.0 33.94
  Java-Temurin-8-int 60.59
  Java JDK8 Int 60.55
  CPython 3.11 49.29
  Java-Temurin-17-int 80.45
  TruffleSOM AST Native Int EE uber 56.22
  Java JDK17 Int 80.69
  PySOM AST Int 56.70
  TruffleSOM AST Native Int EE super 82.84
  PySOM BC Int 64.52
  TruffleSOM AST Native Int EE base 83.29
  TruffleSOM BC Native Int EE base 119.14
  PyPy 3.8 7.3.9 Int 214.58
  Graal.js EE 22.3 Native Int 197.25
  TruffleRuby EE 22.3 Native Int 325.41
  ykSOM Int 258.81
  GraalPython EE 22.3 Native Int 759.88
  SOM-RS BC Int 966.30
  SOM++ Int 1625.89
  SOM-RS AST Int 1985.19
  CSOM Int NaN
Havlak Java JDK17 C2 0.84
  Java ?? C2 0.85
  Java-Temurin-17-jit 0.85
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 0.87
  GraalVM Native EE 22.3 1.17
  TruffleSOM AST Hotspot EE base 2.09
  TruffleRuby EE 22.3 Hotspot 2.54
  Node.js 20.3 2.82
  TruffleSOM BC Hotspot EE base 3.66
  Bun 0.6.9 3.40
  Graal.js EE 22.3 Hotspot 2.26
  TruffleSOM AST Hotspot CE base 3.61
  TruffleSOM BC Hotspot CE base 5.58
  GraalPython EE 22.3 Hotspot 3.21
  PySOM BC JIT 5.86
  PySOM AST JIT 9.16
  PyPy 3.8 7.3.9 11.17
  Ruby 3.1.0 yjit 27.40
  Java JDK20 Int 31.31
  Node.js 20.3 jitless 33.76
  Bun 0.6.9 jitless 35.42
  Ruby 3.1.0 37.44
  Java-Temurin-8-int 52.71
  Java JDK8 Int 53.11
  CPython 3.11 57.42
  Java-Temurin-17-int 63.07
  TruffleSOM AST Native Int EE uber 53.78
  Java JDK17 Int 62.32
  PySOM AST Int 63.16
  TruffleSOM AST Native Int EE super 80.79
  PySOM BC Int 67.87
  TruffleSOM AST Native Int EE base 82.60
  TruffleSOM BC Native Int EE base 114.16
  PyPy 3.8 7.3.9 Int 239.46
  Graal.js EE 22.3 Native Int 241.19
  TruffleRuby EE 22.3 Native Int 298.88
  ykSOM Int NaN
  GraalPython EE 22.3 Native Int 595.63
  SOM-RS BC Int 964.43
  SOM++ Int 1698.03
  SOM-RS AST Int 2068.59
  CSOM Int NaN
Json Java JDK17 C2 0.94
  Java ?? C2 0.95
  Java-Temurin-17-jit 0.95
  Java-Temurin-8-jit 1.02
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.01
  GraalVM Native EE 22.3 1.39
  TruffleSOM AST Hotspot EE base 0.94
  TruffleRuby EE 22.3 Hotspot 0.91
  Node.js 20.3 1.14
  TruffleSOM BC Hotspot EE base 1.01
  Bun 0.6.9 0.82
  Graal.js EE 22.3 Hotspot 0.68
  TruffleSOM AST Hotspot CE base 1.09
  TruffleSOM BC Hotspot CE base 1.29
  GraalPython EE 22.3 Hotspot 0.81
  PySOM BC JIT 1.43
  PySOM AST JIT 0.99
  PyPy 3.8 7.3.9 1.15
  Ruby 3.1.0 yjit 9.97
  Java JDK20 Int 29.25
  Node.js 20.3 jitless 9.97
  Bun 0.6.9 jitless 10.18
  Ruby 3.1.0 12.88
  Java-Temurin-8-int 32.51
  Java JDK8 Int 33.27
  CPython 3.11 10.95
  Java-Temurin-17-int 56.61
  TruffleSOM AST Native Int EE uber 14.11
  Java JDK17 Int 55.65
  PySOM AST Int 27.03
  TruffleSOM AST Native Int EE super 23.95
  PySOM BC Int 28.36
  TruffleSOM AST Native Int EE base 29.87
  TruffleSOM BC Native Int EE base 38.09
  PyPy 3.8 7.3.9 Int 58.02
  Graal.js EE 22.3 Native Int 57.97
  TruffleRuby EE 22.3 Native Int 106.56
  ykSOM Int 766.16
  GraalPython EE 22.3 Native Int 188.83
  SOM-RS BC Int 848.16
  SOM++ Int 916.52
  SOM-RS AST Int 1325.35
  CSOM Int NaN
List Java JDK17 C2 0.99
  Java ?? C2 0.99
  Java-Temurin-17-jit 0.99
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.12
  GraalVM Native EE 22.3 1.90
  TruffleSOM AST Hotspot EE base 3.05
  TruffleRuby EE 22.3 Hotspot 4.23
  Node.js 20.3 1.93
  TruffleSOM BC Hotspot EE base 3.03
  Bun 0.6.9 2.09
  Graal.js EE 22.3 Hotspot 3.12
  TruffleSOM AST Hotspot CE base 3.32
  TruffleSOM BC Hotspot CE base 3.23
  GraalPython EE 22.3 Hotspot 4.21
  PySOM BC JIT 8.35
  PySOM AST JIT 19.86
  PyPy 3.8 7.3.9 12.25
  Ruby 3.1.0 yjit 10.58
  Java JDK20 Int 46.84
  Node.js 20.3 jitless 31.15
  Bun 0.6.9 jitless 38.88
  Ruby 3.1.0 38.98
  Java-Temurin-8-int 43.06
  Java JDK8 Int 42.96
  CPython 3.11 35.71
  Java-Temurin-17-int 170.25
  TruffleSOM AST Native Int EE uber 33.57
  Java JDK17 Int 170.11
  PySOM AST Int 103.39
  TruffleSOM AST Native Int EE super 149.41
  PySOM BC Int 130.42
  TruffleSOM AST Native Int EE base 151.00
  TruffleSOM BC Native Int EE base 185.57
  PyPy 3.8 7.3.9 Int 168.24
  Graal.js EE 22.3 Native Int 224.86
  TruffleRuby EE 22.3 Native Int 355.20
  ykSOM Int 706.71
  GraalPython EE 22.3 Native Int 754.34
  SOM-RS BC Int 3078.38
  SOM++ Int 6015.97
  SOM-RS AST Int 5198.83
  CSOM Int 7959.55
Mandelbrot Java JDK17 C2 1.00
  Java ?? C2 1.00
  Java-Temurin-17-jit 0.99
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 0.99
  GraalVM Native EE 22.3 1.80
  TruffleSOM AST Hotspot EE base 0.93
  TruffleRuby EE 22.3 Hotspot 0.91
  Node.js 20.3 0.91
  TruffleSOM BC Hotspot EE base 1.00
  Bun 0.6.9 0.89
  Graal.js EE 22.3 Hotspot 0.93
  TruffleSOM AST Hotspot CE base 0.99
  TruffleSOM BC Hotspot CE base 1.64
  GraalPython EE 22.3 Hotspot 0.93
  PySOM BC JIT 1.27
  PySOM AST JIT 1.33
  PyPy 3.8 7.3.9 1.04
  Ruby 3.1.0 yjit 16.28
  Java JDK20 Int 4.71
  Node.js 20.3 jitless 10.93
  Bun 0.6.9 jitless 5.84
  Ruby 3.1.0 16.23
  Java-Temurin-8-int 5.13
  Java JDK8 Int 5.18
  CPython 3.11 14.48
  Java-Temurin-17-int 4.48
  TruffleSOM AST Native Int EE uber 1.19
  Java JDK17 Int 4.60
  PySOM AST Int 49.88
  TruffleSOM AST Native Int EE super 18.39
  PySOM BC Int 38.15
  TruffleSOM AST Native Int EE base 23.20
  TruffleSOM BC Native Int EE base 52.39
  PyPy 3.8 7.3.9 Int 86.45
  Graal.js EE 22.3 Native Int 36.73
  TruffleRuby EE 22.3 Native Int 50.22
  ykSOM Int 234.89
  GraalPython EE 22.3 Native Int 68.74
  SOM-RS BC Int 560.04
  SOM++ Int 1185.76
  SOM-RS AST Int 981.42
  CSOM Int 1364.01
NBody Java JDK17 C2 1.03
  Java ?? C2 1.04
  Java-Temurin-17-jit 1.04
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.08
  GraalVM Native EE 22.3 1.01
  TruffleSOM AST Hotspot EE base 2.17
  TruffleRuby EE 22.3 Hotspot 1.22
  Node.js 20.3 1.38
  TruffleSOM BC Hotspot EE base 2.19
  Bun 0.6.9 2.24
  Graal.js EE 22.3 Hotspot 0.85
  TruffleSOM AST Hotspot CE base 2.36
  TruffleSOM BC Hotspot CE base 2.43
  GraalPython EE 22.3 Hotspot 1.26
  PySOM BC JIT 3.09
  PySOM AST JIT 3.03
  PyPy 3.8 7.3.9 3.57
  Ruby 3.1.0 yjit 61.21
  Java JDK20 Int 57.18
  Node.js 20.3 jitless 69.91
  Bun 0.6.9 jitless 40.73
  Ruby 3.1.0 89.81
  Java-Temurin-8-int 181.77
  Java JDK8 Int 183.73
  CPython 3.11 62.39
  Java-Temurin-17-int 179.82
  TruffleSOM AST Native Int EE uber 116.37
  Java JDK17 Int 188.28
  PySOM AST Int 138.87
  TruffleSOM AST Native Int EE super 116.94
  PySOM BC Int 170.66
  TruffleSOM AST Native Int EE base 124.87
  TruffleSOM BC Native Int EE base 268.33
  PyPy 3.8 7.3.9 Int 361.65
  Graal.js EE 22.3 Native Int 202.37
  TruffleRuby EE 22.3 Native Int 553.07
  ykSOM Int 665.98
  GraalPython EE 22.3 Native Int 758.65
  SOM-RS BC Int 1803.81
  SOM++ Int 3875.38
  SOM-RS AST Int 4184.69
  CSOM Int 4367.55
Permute Java JDK17 C2 1.01
  Java ?? C2 1.01
  Java-Temurin-17-jit 1.01
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.00
  GraalVM Native EE 22.3 1.58
  TruffleSOM AST Hotspot EE base 3.98
  TruffleRuby EE 22.3 Hotspot 3.40
  Node.js 20.3 2.13
  TruffleSOM BC Hotspot EE base 4.99
  Bun 0.6.9 2.27
  Graal.js EE 22.3 Hotspot 2.93
  TruffleSOM AST Hotspot CE base 2.34
  TruffleSOM BC Hotspot CE base 5.09
  GraalPython EE 22.3 Hotspot 4.96
  PySOM BC JIT 4.45
  PySOM AST JIT 4.66
  PyPy 3.8 7.3.9 8.14
  Ruby 3.1.0 yjit 37.68
  Java JDK20 Int 23.31
  Node.js 20.3 jitless 64.40
  Bun 0.6.9 jitless 44.36
  Ruby 3.1.0 54.73
  Java-Temurin-8-int 49.03
  Java JDK8 Int 49.20
  CPython 3.11 79.19
  Java-Temurin-17-int 52.25
  TruffleSOM AST Native Int EE uber 51.33
  Java JDK17 Int 49.23
  PySOM AST Int 106.43
  TruffleSOM AST Native Int EE super 130.73
  PySOM BC Int 113.66
  TruffleSOM AST Native Int EE base 138.11
  TruffleSOM BC Native Int EE base 197.97
  PyPy 3.8 7.3.9 Int 377.57
  Graal.js EE 22.3 Native Int 366.59
  TruffleRuby EE 22.3 Native Int 538.49
  ykSOM Int 372.80
  GraalPython EE 22.3 Native Int 1109.03
  SOM-RS BC Int 1542.20
  SOM++ Int 3155.15
  SOM-RS AST Int 3161.92
  CSOM Int 3639.89
Queens Java JDK17 C2 0.98
  Java ?? C2 0.98
  Java-Temurin-17-jit 0.99
  Java-Temurin-8-jit 1.01
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 0.94
  GraalVM Native EE 22.3 1.56
  TruffleSOM AST Hotspot EE base 3.99
  TruffleRuby EE 22.3 Hotspot 4.07
  Node.js 20.3 2.74
  TruffleSOM BC Hotspot EE base 3.06
  Bun 0.6.9 1.90
  Graal.js EE 22.3 Hotspot 3.75
  TruffleSOM AST Hotspot CE base 2.74
  TruffleSOM BC Hotspot CE base 3.22
  GraalPython EE 22.3 Hotspot 3.89
  PySOM BC JIT 7.00
  PySOM AST JIT 13.87
  PyPy 3.8 7.3.9 4.96
  Ruby 3.1.0 yjit 27.30
  Java JDK20 Int 21.47
  Node.js 20.3 jitless 42.60
  Bun 0.6.9 jitless 34.81
  Ruby 3.1.0 45.87
  Java-Temurin-8-int 33.25
  Java JDK8 Int 33.26
  CPython 3.11 42.49
  Java-Temurin-17-int 33.92
  TruffleSOM AST Native Int EE uber 71.76
  Java JDK17 Int 33.89
  PySOM AST Int 115.34
  TruffleSOM AST Native Int EE super 96.59
  PySOM BC Int 142.54
  TruffleSOM AST Native Int EE base 104.75
  TruffleSOM BC Native Int EE base 201.25
  PyPy 3.8 7.3.9 Int 197.68
  Graal.js EE 22.3 Native Int 244.06
  TruffleRuby EE 22.3 Native Int 419.91
  ykSOM Int 535.68
  GraalPython EE 22.3 Native Int 639.23
  SOM-RS BC Int 2033.69
  SOM++ Int 4215.48
  SOM-RS AST Int 4436.67
  CSOM Int 4696.40
Richards Java JDK17 C2 1.37
  Java ?? C2 1.37
  Java-Temurin-17-jit 1.35
  Java-Temurin-8-jit 0.99
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.36
  GraalVM Native EE 22.3 1.33
  TruffleSOM AST Hotspot EE base 1.80
  TruffleRuby EE 22.3 Hotspot 3.63
  Node.js 20.3 2.36
  TruffleSOM BC Hotspot EE base 1.78
  Bun 0.6.9 2.54
  Graal.js EE 22.3 Hotspot 5.62
  TruffleSOM AST Hotspot CE base 3.33
  TruffleSOM BC Hotspot CE base 2.34
  GraalPython EE 22.3 Hotspot 4.68
  PySOM BC JIT 2.60
  PySOM AST JIT 2.46
  PyPy 3.8 7.3.9 3.33
  Ruby 3.1.0 yjit 29.34
  Java JDK20 Int 37.96
  Node.js 20.3 jitless 56.10
  Bun 0.6.9 jitless 48.44
  Ruby 3.1.0 52.65
  Java-Temurin-8-int 68.32
  Java JDK8 Int 68.88
  CPython 3.11 56.91
  Java-Temurin-17-int 104.83
  TruffleSOM AST Native Int EE uber 132.49
  Java JDK17 Int 103.02
  PySOM AST Int 121.57
  TruffleSOM AST Native Int EE super 167.66
  PySOM BC Int 139.28
  TruffleSOM AST Native Int EE base 170.03
  TruffleSOM BC Native Int EE base 247.39
  PyPy 3.8 7.3.9 Int 347.21
  Graal.js EE 22.3 Native Int 365.83
  TruffleRuby EE 22.3 Native Int 608.99
  ykSOM Int 681.51
  GraalPython EE 22.3 Native Int 1289.49
  SOM-RS BC Int 2337.11
  SOM++ Int 3495.48
  SOM-RS AST Int 4881.10
  CSOM Int 6164.42
Sieve Java JDK17 C2 0.93
  Java ?? C2 0.97
  Java-Temurin-17-jit 0.98
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 0.94
  GraalVM Native EE 22.3 1.45
  TruffleSOM AST Hotspot EE base 2.33
  TruffleRuby EE 22.3 Hotspot 2.10
  Node.js 20.3 2.79
  TruffleSOM BC Hotspot EE base 1.14
  Bun 0.6.9 2.22
  Graal.js EE 22.3 Hotspot 2.78
  TruffleSOM AST Hotspot CE base 2.41
  TruffleSOM BC Hotspot CE base 2.41
  GraalPython EE 22.3 Hotspot 1.41
  PySOM BC JIT 5.87
  PySOM AST JIT 4.27
  PyPy 3.8 7.3.9 3.98
  Ruby 3.1.0 yjit 23.36
  Java JDK20 Int 16.60
  Node.js 20.3 jitless 33.29
  Bun 0.6.9 jitless 25.06
  Ruby 3.1.0 41.25
  Java-Temurin-8-int 16.27
  Java JDK8 Int 16.16
  CPython 3.11 43.17
  Java-Temurin-17-int 15.58
  TruffleSOM AST Native Int EE uber 15.15
  Java JDK17 Int 16.17
  PySOM AST Int 100.91
  TruffleSOM AST Native Int EE super 49.16
  PySOM BC Int 100.66
  TruffleSOM AST Native Int EE base 57.35
  TruffleSOM BC Native Int EE base 141.98
  PyPy 3.8 7.3.9 Int 124.10
  Graal.js EE 22.3 Native Int 130.77
  TruffleRuby EE 22.3 Native Int 183.60
  ykSOM Int 703.94
  GraalPython EE 22.3 Native Int 186.45
  SOM-RS BC Int 3127.36
  SOM++ Int 6614.88
  SOM-RS AST Int 6033.10
  CSOM Int 7686.04
Storage Java JDK17 C2 0.88
  Java ?? C2 0.89
  Java-Temurin-17-jit 0.89
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 0.78
  GraalVM Native EE 22.3 0.53
  TruffleSOM AST Hotspot EE base 0.88
  TruffleRuby EE 22.3 Hotspot 1.49
  Node.js 20.3 1.46
  TruffleSOM BC Hotspot EE base 0.96
  Bun 0.6.9 1.25
  Graal.js EE 22.3 Hotspot 0.86
  TruffleSOM AST Hotspot CE base 1.09
  TruffleSOM BC Hotspot CE base 1.11
  GraalPython EE 22.3 Hotspot 1.65
  PySOM BC JIT 1.11
  PySOM AST JIT 1.00
  PyPy 3.8 7.3.9 4.29
  Ruby 3.1.0 yjit 16.51
  Java JDK20 Int 15.75
  Node.js 20.3 jitless 10.67
  Bun 0.6.9 jitless 11.34
  Ruby 3.1.0 20.47
  Java-Temurin-8-int 32.20
  Java JDK8 Int 31.07
  CPython 3.11 24.01
  Java-Temurin-17-int 32.48
  TruffleSOM AST Native Int EE uber 22.58
  Java JDK17 Int 32.35
  PySOM AST Int 18.99
  TruffleSOM AST Native Int EE super 25.88
  PySOM BC Int 20.78
  TruffleSOM AST Native Int EE base 25.75
  TruffleSOM BC Native Int EE base 33.74
  PyPy 3.8 7.3.9 Int 91.03
  Graal.js EE 22.3 Native Int 73.17
  TruffleRuby EE 22.3 Native Int 96.93
  ykSOM Int 110.45
  GraalPython EE 22.3 Native Int 202.52
  SOM-RS BC Int 420.26
  SOM++ Int 620.67
  SOM-RS AST Int 822.01
  CSOM Int 15498.90
Towers Java JDK17 C2 1.08
  Java ?? C2 1.08
  Java-Temurin-17-jit 1.07
  Java-Temurin-8-jit 1.00
  Java JDK8 C2 1.00
  Java-Temurin-20-jit 1.07
  GraalVM Native EE 22.3 1.03
  TruffleSOM AST Hotspot EE base 2.50
  TruffleRuby EE 22.3 Hotspot 3.49
  Node.js 20.3 2.20
  TruffleSOM BC Hotspot EE base 2.60
  Bun 0.6.9 1.63
  Graal.js EE 22.3 Hotspot 2.66
  TruffleSOM AST Hotspot CE base 2.79
  TruffleSOM BC Hotspot CE base 3.20
  GraalPython EE 22.3 Hotspot 3.57
  PySOM BC JIT 1.53
  PySOM AST JIT 18.76
  PyPy 3.8 7.3.9 8.56
  Ruby 3.1.0 yjit 15.06
  Java JDK20 Int 30.31
  Node.js 20.3 jitless 49.47
  Bun 0.6.9 jitless 44.00
  Ruby 3.1.0 41.36
  Java-Temurin-8-int 64.31
  Java JDK8 Int 64.63
  CPython 3.11 48.54
  Java-Temurin-17-int 96.48
  TruffleSOM AST Native Int EE uber 96.10
  Java JDK17 Int 94.68
  PySOM AST Int 97.64
  TruffleSOM AST Native Int EE super 126.23
  PySOM BC Int 104.86
  TruffleSOM AST Native Int EE base 131.17
  TruffleSOM BC Native Int EE base 183.42
  PyPy 3.8 7.3.9 Int 244.57
  Graal.js EE 22.3 Native Int 289.12
  TruffleRuby EE 22.3 Native Int 397.73
  ykSOM Int 308.35
  GraalPython EE 22.3 Native Int 879.23
  SOM-RS BC Int 1293.16
  SOM++ Int 2168.04
  SOM-RS AST Int 2537.43
  CSOM Int 2872.72