JAM

Conformance Performance

Important Note

This leaderboard highlights performance differences between JAM implementations. All implementations are works in progress and none are fully conformant yet. The rankings serve to track relative performance improvements over time.

Performance Comparison

All implementations relative to PolkaJam(aggregate weighted scores - see methodology below)

Nov 21, 11:06 PM
3afc112
1
PolkaJam (Recompiler)
Rust
1.4x faster2.20ms
2
SpaceJam
Rust
1.1x faster2.96ms
3
PolkaJamBaseline
Rust
baseline3.18ms
4
TurboJam
C++
1.6x slower5.19ms
5
JavaJAM
Java
1.9x slower6.00ms
6
JAM DUNA
Go
2.0x slower6.26ms
7
Jamzilla
Go
2.2x slower6.91ms
8
FastRoll
Rust
4.9x slower15.72ms
9
Vinwolf
Rust
5.4x slower17.22ms
10
JamZig
Zig
5.7x slower18.17ms
11
Boka
Swift
12.8x slower40.62ms
12
TSJam
TypeScript
12.7x slower40.37ms
13
Jamixir
Elixir
14.5x slower46.02ms
14
Tessera
Python
20.0x slower63.59ms
15
JamPy
Python
27.7x slower88.12ms
16
Typeberry
TypeScript
34.8x slower110.67ms
17
Strawberry
Go
31.4x slower99.75ms
18
PyJAMaz
Python
41.1x slower130.46ms
19
Gossamer JAM
Go
39.8x slower126.35ms
Logarithmic scale • Lower is better
Percentiles:
P50
P90
P99
<1.2x
<2x
<10x
>50x

Performance Rankings

Baseline: PolkaJam(Score: 4.0)

RankTeamLanguageScoreP50 (ms)P90 (ms)Relative PerformanceTrend
1
PolkaJam (Recompiler)
Rust2.52.103.23
1.4x faster
2
SpaceJam
Rust3.32.874.00
1.1x faster
3
PolkaJam
Rust4.02.945.44
baseline
4
TurboJam
C++6.54.139.46
1.6x slower
5
JavaJAM
Java8.04.8610.75
1.9x slower
6
JAM DUNA
Go8.15.1511.20
2.0x slower
7
Jamzilla
Go9.25.2212.43
2.2x slower
8
FastRoll
Rust20.69.4320.86
4.9x slower
9
Vinwolf
Rust24.57.5716.15
5.4x slower
10
JamZig
Zig26.26.9115.16
5.7x slower
11
Boka
Swift54.626.2355.13
12.8x slower
12
TSJam
TypeScript56.628.9871.87
12.7x slower
13
Jamixir
Elixir74.430.1586.83
14.5x slower
14
Tessera
Python81.354.97113.37
20.0x slower
15
JamPy
Python117.658.97163.28
27.7x slower
16
Typeberry
TypeScript151.970.07173.68
34.8x slower
17
Strawberry
Go167.358.01174.24
31.4x slower
18
PyJAMaz
Python179.987.87192.24
41.1x slower
19
Gossamer JAM
Go208.237.12191.45
39.8x slower

Audit Time Calculator

Time required for polkajam to complete audit

1PolkaJam (Recompiler)
2.1d
2SpaceJam
2.8d
3PolkaJam
3.0d
4TurboJam
4.9d
5JavaJAM
5.7d
6JAM DUNA
5.9d
7Jamzilla
6.5d
8FastRoll
14.8d
9Vinwolf
16.3d
10JamZig
17.2d
11Boka
38.4d
12TSJam
38.1d
13Jamixir
43.5d
14Tessera
60.0d
15JamPy
83.2d
16Typeberry
104.5d
17Strawberry
94.2d
18PyJAMaz
123.2d
19Gossamer JAM
119.3d

Note: These calculations show the real-world impact of performance differences on audit requirements.

Scoring Methodology

Weighted scoring system that considers full performance distribution. Our scoring system prioritizes consistent, predictable performance by weighing multiple statistical metrics:

Median (P50)
35%
Typical performance
90th Percentile
25%
Consistency
Mean
20%
Average
99th Percentile
10%
Worst case
Consistency
10%
Lower variance

How it works:

  1. 1. Performance measurements are based on the public W3F test vector traces
  2. 2. For each benchmark, we calculate a weighted score using the metrics above
  3. 3. We use geometric mean across all benchmarks to aggregate metrics
  4. 4. Teams are ranked by their final weighted score (lower is better)
  5. 5. Polkajam (interpreted) serves as the baseline (1.0x) for relative comparisons
Note: Only teams with data for all four benchmarks (Safrole, Fallback, Storage, Storage Light) are included in the overview. Zero values are excluded from calculations as they likely represent measurement errors.

Performance data updated regularly. Version: 0.7.0| Last updated: Nov 21, 2025, 11:06 PM| Source data from: Nov 21, 2025

Testing protocol conformance at scale. Learn more at jam-conformance | Commit 3afc112 | View all clients