Benchmark Report

May 1, 2026, 9:44 AMVoxelBench plugin 1.0.211 min 48 s benchmark
PublicSTANDARDStandard scoring 8.1.0· earlier scoring
Total score
69,368
RankC
Single Core85,225
Gameplay54,077
Hardware49,485
How this score is built
The verdict

Tick spikes · Mob AI

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 114.98 ms
  • mspt_p99 = 390.63 ms
  • spike_ratio = 3.4 ratio
  • sample_count = 128 count

Weakest test: Mob AI, 9.3 TPS on average. The 15 other tests hold at least 17.52 TPS.

Multipliers appliedSynergy ×1.150Stability ×0.962Duration ×1.023

Compared with other servers

The comparison with other servers uses reports scored with version 8.3.0 of the scoring rules. This report was scored with another version, so its score is not comparable.

What matters

Read from the measurements, never estimated
CriticalMob AI

Tick spikes

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 114.98 ms
  • mspt_p99 = 390.63 ms
  • spike_ratio = 3.4 ratio
  • sample_count = 128 count
See the setting this justifies

Tick spikes

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 17.76 ms
  • mspt_p99 = 67.71 ms
  • spike_ratio = 3.81 ratio
  • sample_count = 238 count
›+2 more findings
For informationMemory latency not measuredmemorynot measured

No access latency was published, so the score assumed an unfavourable one. Publishing the measurement can only help.

  • assumed_latency_ns = 180 ns
  • reference_latency_ns = 120 ns
For informationRandom 4K not measureddisknot measured

Direct IO was refused by the host, so the random part of the disk score rests on an assumption rather than a measurement.

  • assumed_random_mbps = 90 MB/s
  • reference_random_mbps = 150 MB/s

A finding stays silent rather than attribute a cause without evidence. An absent cause is an answer, not an omission.

Test by test

Problems first — select a row for the full test

Settings your measurements justify

Each setting below is triggered by a measurement from this report, and names the test to replay to find out whether it helped.

Paperconfig/paper-world-defaults.yml

Spread the automatic save over more ticks

chunks.max-auto-save-chunks-per-tick: 8

Measured : worldSave.tpsImpact 5.0 TPS (threshold 0.5 TPS)

Saving the world visibly costs ticks. Capping the chunks written per tick spreads the same work over a longer window instead of concentrating it into a spike.

Test to replay : worldSave

Spigotspigot.yml

Shrink the monster activation range

world-settings.default.entity-activation-range.monsters: 24

Measured : mobAI.mspt.avg 115.0 ms (threshold 35.0 ms)

Mob AI costs more per tick than the budget allows. The activation range decides how far from a player a monster keeps thinking; shrinking it puts distant ones to sleep without removing them.

Test to replay : mobAI

Bukkitbukkit.yml

Lower the monster spawn limit

spawn-limits.monsters: 50

Measured : mobAI.mspt.avg 115.0 ms (threshold 50.0 ms)

Mob AI is past the critical cost per tick, where shrinking the activation range is no longer enough. The spawn limit caps how many monsters exist per player at all, which is the only setting here that reduces the work rather than deferring it.

Test to replay : mobAI

These settings trade a little gameplay fidelity for tick budget. Apply one at a time and replay the named test: the effect stays a hypothesis until you have measured it.

Briefing for a language model

Paste this into the assistant of your choice to have it rewritten in prose. It already carries every number, so the model has none left to invent.

{
  "format": "voxelbench.tuning.v1",
  "instruction": "Rewrite each recommendation below as plain prose for a server operator. Every number you are allowed to use is already in this document: the measured value, its threshold, and the proposed setting. Do not compute, estimate or predict any other number, and never state an expected gain. Keep every setting name and value exactly as written.",
  "server": {
    "type": "purpur",
    "minecraft": "1.21.11",
    "java": "26.0.1"
  },
  "recommendations": [
    {
      "id": "paper.sauvegarde-etalee",
      "family": "paper",
      "measure": "worldSave.tpsImpact",
      "value": 4.973907189835149,
      "unit": "TPS",
      "threshold": 0.5,
      "control_test": "worldSave",
      "file": "config/paper-world-defaults.yml",
      "setting": "chunks.max-auto-save-chunks-per-tick",
      "proposed_value": "8",
      "current_value": null
    },
    {
      "id": "spigot.portee-activation-monstres",
      "family": "spigot",
      "measure": "mobAI.mspt.avg",
      "value": 114.98006184895833,
      "unit": "ms",
      "threshold": 35,
      "control_test": "mobAI",
      "file": "spigot.yml",
      "setting": "world-settings.default.entity-activation-range.monsters",
      "proposed_value": "24",
      "current_value": null
    },
    {
      "id": "bukkit.limite-monstres",
      "family": "bukkit",
      "measure": "mobAI.mspt.avg",
      "value": 114.98006184895833,
      "unit": "ms",
      "threshold": 50,
      "control_test": "mobAI",
      "file": "bukkit.yml",
      "setting": "spawn-limits.monsters",
      "proposed_value": "50",
      "current_value": null
    }
  ]
}

Java start-up line

The options this server was started with, checked against its Java version. Corrections fix what is certainly wrong; leads to test are settings to measure, never applied for you.

Nothing to correctJava 26JVM not identifiedCollector: ZGC
Current line (16 arguments)

Values of system properties, agents and file paths are never shown: they appear as <redacted>.

-XX:ThreadPriorityPolicy=1 -XX:+UnlockExperimentalVMOptions -Xms5632M -Xmx5632M -XX:+UseZGC -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+PerfDisableSharedMem -XX:+UseCompactObjectHeaders -XX:ZCollectionInterval=0 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+UseStringDeduplication --enable-native-access=ALL-UNNAMED -Dterminal.jline=false -Dterminal.ansi=true -Djline.terminal=<redacted>

Nothing to correct: every option is valid for Java 26.

Re-run and compare

  1. Apply the corrected line where your server starts (panel start-up parameters, start.sh).
  2. Restart the server.
  3. Run a new benchmark: /bench start
  4. Compare the new report with this one.
Open the comparison with this report

This report is the before; add the new report to the comparison once it is in. A single run on each side says little: the gap between two runs of an unchanged server is noise.

Every measurement

Each test in full. Tests in trouble are open; the others fold to their summary line.

Single-Core Stress

RedstoneHealthy

Single-core stress via intensive redstone circuit updates.

TPS
min
14.86
avg
17.52
max
20.00
MSPT
min
0.00
avg
23.41
max
46.88
Filter Rate1
Piston Count1600
Gc Count56
Gc Time Ms849 ms
Percentiles and stability
TPS P1 (worst)14.86
TPS P514.91
TPS P50 (median)19.95
MSPT P9546.88
MSPT P99 (worst)46.88
TPS σ4.987
MSPT σ19.424
TPS derived from MSPT20.00
TPS stability24.9%(Unstable)
MSPT stability77.7%(Unstable)
Block PhysicsHealthy

Single-core stress via falling-block physics.

TPS
min
15.05
avg
19.89
max
20.00
MSPT
min
0.00
avg
13.57
max
19.53
Spawn Frequency1
Gc Count27
Falling Block Count24000
Gc Time Ms1320 ms
Percentiles and stability
TPS P1 (worst)15.05
TPS P519.86
TPS P50 (median)20.00
MSPT P9519.53
MSPT P99 (worst)19.53
TPS σ0.603
MSPT σ4.535
TPS derived from MSPT20.00
TPS stability3.0%(Stable)
MSPT stability18.1%(Moderate)

Exploration

Chunk LoadingUnstable

Chunk generation and loading speed across dispersed zones.

TPS
min
15.00
avg
19.66
max
20.00
MSPT
min
0.00
avg
17.76
max
78.13
Gc Count233
Chunks Per Zone5000
Chunks Loaded33784
Avg Load Time Ms0 ms
Chunks Per Second1734 ops/s
Dispersed Zones8
Gc Time Ms15054 ms
Percentiles and stability
TPS P1 (worst)15.01
TPS P515.07
TPS P50 (median)20.00
MSPT P9554.69
MSPT P99 (worst)67.71
TPS σ1.212
MSPT σ16.301
TPS derived from MSPT18.29
TPS stability6.1%(Stable)
MSPT stability65.2%(Unstable)
Chunk TickingHealthy

Server performance when ticking many loaded chunks with random tick updates.

TPS
min
15.01
avg
19.50
max
20.00
MSPT
min
7.81
avg
15.72
max
27.34
Gc Count32
Chunk Count200
Tick Speed20
Gc Time Ms1738 ms
Percentiles and stability
TPS P1 (worst)15.02
TPS P515.06
TPS P50 (median)20.00
MSPT P9519.53
MSPT P99 (worst)20.83
TPS σ1.450
MSPT σ2.764
TPS derived from MSPT20.00
TPS stability7.2%(Stable)
MSPT stability11.1%(Moderate)
Lighting UpdateHealthy

Lighting recomputation throughput on block place / break.

TPS
min
15.00
avg
19.85
max
20.00
MSPT
min
0.00
avg
2.62
max
11.72
Gc Count28
Total Updates3202
Dispersed Zones8
Gc Time Ms1721 ms
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.83
TPS P50 (median)20.00
MSPT P957.81
MSPT P99 (worst)11.72
TPS σ0.716
MSPT σ2.524
TPS derived from MSPT20.00
TPS stability3.6%(Stable)
MSPT stability10.1%(Moderate)

Entities

Mob AICritical

Complex mob AI behaviours (villagers, iron golems, hostile mobs).

Phase 1
TPS 9.32
MSPT 112.22 ms
Phase 2
TPS 9.20
MSPT 109.41 ms
TPS
min
4.97
avg
9.30
max
20.00
MSPT
min
0.00
avg
114.98
max
390.63
Global Avg Tps9
Phase2 Avg Tps9
Gc Count44
Global Avg Mspt111
Villager Count2400
Phase1 Avg Tps9
Filter Rate1
Hostile Mob Count1200
Phase1 Avg Mspt112
House Count120
Phase2 Avg Mspt109
Gc Time Ms4411 ms
Percentiles and stability
TPS P1 (worst)4.97
TPS P54.97
TPS P50 (median)9.99
MSPT P95156.25
MSPT P99 (worst)390.63
TPS σ3.365
MSPT σ49.267
TPS derived from MSPT6.40
TPS stability16.8%(Moderate)
MSPT stability197.1%(Unstable)

Mechanics

HopperHealthy

Intensive hopper chain item transfers.

TPS
min
19.64
avg
19.96
max
20.00
MSPT
min
0.39
avg
1.69
max
3.52
Items Transferred38080
Hopper Count Per Line50
Hopper Count Total4000
Gc Count8
Parallel Lines10
Items Total40000
Total Lines80
Transfer Efficiency95
Items Per Second2007 ops/s
Dispersed Zones8
Gc Time Ms195 ms
Percentiles and stability
TPS P1 (worst)19.64
TPS P519.86
TPS P50 (median)20.00
MSPT P952.73
MSPT P99 (worst)3.52
TPS σ0.129
MSPT σ0.590
TPS derived from MSPT20.00
TPS stability0.6%(Stable)
MSPT stability2.4%(Stable)
ExplosionHealthy

Massive TNT explosions and block destruction.

TPS
min
15.00
avg
19.43
max
20.00
MSPT
min
0.00
avg
3.21
max
7.81
Explosion Impact5
Gc Count4
Blocks Per Second444 ops/s
Tnt Total1200
Blocks Destroyed7542
Tnt Count150
Dispersed Zones8
Gc Time Ms111 ms
Percentiles and stability
TPS P1 (worst)15.00
TPS P515.02
TPS P50 (median)20.00
MSPT P957.81
MSPT P99 (worst)7.81
TPS σ1.565
MSPT σ2.437
TPS derived from MSPT20.00
TPS stability7.8%(Stable)
MSPT stability9.7%(Stable)
Ticking Tile EntitiesHealthy

Many ticking tile entities (furnaces, hoppers, etc.).

TPS
min
15.07
avg
19.87
max
20.00
MSPT
min
0.00
avg
1.51
max
7.81
Total Tile Entities5000
Gc Count12
Dispersed Zones8
Gc Time Ms792 ms
Percentiles and stability
TPS P1 (worst)15.10
TPS P519.85
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)7.81
TPS σ0.714
MSPT σ2.031
TPS derived from MSPT20.00
TPS stability3.6%(Stable)
MSPT stability8.1%(Stable)
World SaveHealthy

World save speed and TPS impact during save operations.

TPS
min
15.03
avg
19.42
max
20.00
MSPT
min
0.00
avg
0.94
max
5.21
Disk Write Speed MBps2809 MB/s
Tps Impact5
World Size MB13904 MB
Percentiles and stability
TPS P1 (worst)15.03
TPS P515.03
TPS P50 (median)19.99
MSPT P955.21
MSPT P99 (worst)5.21
TPS σ1.605
MSPT σ1.831
TPS derived from MSPT20.00
TPS stability8.0%(Stable)
MSPT stability7.3%(Stable)
Bone Meal GrowthHealthy

Rapid crop and tree growth via bone meal.

TPS
min
19.81
avg
19.97
max
20.00
MSPT
min
0.00
avg
2.05
max
7.81
Crops Fully Grown471
Gc Count4
Growth Rate23
Crop Count500
Bone Meal Used1512
Trees Grown44
Sapling Count200
Gc Time Ms312 ms
Percentiles and stability
TPS P1 (worst)19.83
TPS P519.87
TPS P50 (median)19.99
MSPT P953.91
MSPT P99 (worst)7.81
TPS σ0.082
MSPT σ2.177
TPS derived from MSPT20.00
TPS stability0.4%(Stable)
MSPT stability8.7%(Stable)

CPU

Single-Core (tick-aligned)Healthy

Single-thread compute throughput measured on the main thread under the tick scheduler.

TPS
min
19.84
avg
19.97
max
20.00
MSPT
min
0.00
avg
2.60
max
7.81
Total Operations102000000
Operations Per Second10152126 ops/s
Cpu Cores24
Batch Size500000
Percentiles and stability
TPS P1 (worst)19.84
TPS P519.85
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)7.81
TPS σ0.086
MSPT σ2.203
TPS derived from MSPT20.00
TPS stability0.4%(Stable)
MSPT stability8.8%(Stable)
Multi-Core CPUHealthy

Parallel computation throughput across worker threads.

TPS
min
19.90
avg
19.96
max
20.00
MSPT
min
0.00
avg
0.65
max
3.91
Total Operations50000000000
Work Size Per Task500000000
Tasks Completed100
Task Count100
Operations Per Second23226115853 ops/s
Cpu Cores24
Percentiles and stability
TPS P1 (worst)19.90
TPS P519.90
TPS P50 (median)19.98
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.092
MSPT σ1.595
TPS derived from MSPT20.00
TPS stability0.5%(Stable)
MSPT stability6.4%(Stable)

Memory & Storage

Memory PerformanceHealthy

RAM bandwidth and latency.

JVM measurements — do not reflect actual bare-metal performance.

TPS
min
19.80
avg
19.96
max
20.00
MSPT
min
0.00
avg
2.14
max
11.72
Seq Read MBps196 MB/s
Gc Count24
Mem Copy MBps9428 MB/s
Rand Write MBps43 MB/s
Rand Op K250000
Passes3
Memory Latency Ns119 ns
Seq Write MBps118 MB/s
Table Size MB512 MB
Gc Time Ms1454 ms
Rand Read MBps16 MB/s
Percentiles and stability
TPS P1 (worst)19.83
TPS P519.85
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)7.81
TPS σ0.090
MSPT σ2.062
TPS derived from MSPT20.00
TPS stability0.5%(Stable)
MSPT stability8.2%(Stable)
Disk PerformanceHealthy

Sequential and random 4K read/write performance.

JVM measurements — do not reflect actual bare-metal performance.

TPS
min
19.81
avg
19.97
max
20.00
MSPT
min
0.00
avg
2.30
max
7.81
Rand Write4 K IOPS63225 IOPS
Passes3
Seq Write MBps430 MB/s
Rand Read4 K Lat Avg Us97 µs
Rand Read4 K Lat P99 Us2638 µs
Seq Read MBps5766 MB/s
Rand Write4 K MBps247 MB/s
Rand Read4 K Lat P95 Us76 µs
Cache Invalidated1
Gc Count20
Rand Read4 K MBps158 MB/s
Rand Write4 K Lat Avg Us56 µs
Rand Read4 K Lat P50 Us6 µs
Rand Write4 K Lat P99 Us394 µs
Rand Write4 K Lat P50 Us38 µs
Rand Write4 K Lat P95 Us152 µs
Gc Time Ms852 ms
Rand Read4 K IOPS40411 IOPS
Percentiles and stability
TPS P1 (worst)19.82
TPS P519.86
TPS P50 (median)19.99
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.085
MSPT σ1.948
TPS derived from MSPT20.00
TPS stability0.4%(Stable)
MSPT stability7.8%(Stable)

Network

Network (NBT)Healthy

Serialisation throughput — proxy for the rate at which the server can ship world data to clients.

TPS
min
15.01
avg
19.80
max
20.00
MSPT
min
15.63
avg
19.59
max
46.88
Objects Processed20000
Gc Count12
Throughput MBps5 MB/s
Objects Per Second1000 ops/s
Gc Time Ms64 ms
Bytes Processed107735461
Percentiles and stability
TPS P1 (worst)15.01
TPS P519.83
TPS P50 (median)20.00
MSPT P9523.44
MSPT P99 (worst)46.88
TPS σ0.890
MSPT σ3.595
TPS derived from MSPT20.00
TPS stability4.5%(Stable)
MSPT stability14.4%(Moderate)
›Machine and serverIntel(R) Core(TM) Ultra 9 285K · Purpur · 1.21.11
CPU Information
ModelIntel(R) Core(TM) Ultra 9 285K
VendorGenuineIntel
Physical Cores24
Logical Cores24
Max Frequency3.686 GHz
Server Information
Server TypePurpur (1.21.11-2568-f57bd86 (MC: 1.21.11))
Minecraft Version1.21.11
Bukkit Version1.21.11-R0.1-SNAPSHOT
Java Version26.0.1
OSWindows 11
Plugins2
JVM Memory
Max Heap5.50 GB
Allocated5.50 GB
Used3.12 GB
Free2.38 GB
Heap Usage56.7%
JVM Flags
-XX:ThreadPriorityPolicy=1 -XX:+UnlockExperimentalVMOptions -Xms5632M -Xmx5632M -XX:+UseZGC -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+PerfDisableSharedMem -XX:+UseCompactObjectHeaders -XX:ZCollectionInterval=0 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+UseStringDeduplication --enable-native-access=ALL-UNNAMED -Dterminal.jline=false -Dterminal.ansi=true -Djline.terminal=<redacted>
Dispersed Zones8

Score Breakdown

Detailed sub-category scores

Hardware

Memory18,178
Disk22,892
Multi-Core138,750

Gameplay

Exploration56,792
Entities79,238
Mechanics38,983

Multipliers

Synergy Bonusx1.150
Stability Bonusx0.962
Duration Mult.x1.023