Benchmark Report

Aug 11, 2026, 5:35 PMVoxelBench plugin 1.6.012 min 11 s benchmark
PublicSTANDARDStandard scoring 8.1.0· earlier scoring
Total score
38,222
RankD
Single Core48,344
Gameplay59,650
Hardware20,040
How this score is built
The verdict

Main thread saturated · Redstone

One game thread is already over its tick budget under the benchmark's own load. Players and redstone will push it further.

  • mspt_avg = 56.7 ms
  • mspt_target = 35 ms
  • tps_avg = 16.75 tps
  • tps_held_threshold = 18 tps

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

Multipliers appliedSynergy ×0.989Stability ×0.891Duration ×1.017

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
CriticalRedstone

Main thread saturated

One game thread is already over its tick budget under the benchmark's own load. Players and redstone will push it further.

Likely cause: single core

  • mspt_avg = 56.7 ms
  • mspt_target = 35 ms
  • tps_avg = 16.75 tps
  • tps_held_threshold = 18 tps
See the setting this justifies
CriticalMob AI

Tick spikes

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

  • mspt_avg = 254.6 ms
  • mspt_p99 = 1,171.88 ms
  • spike_ratio = 4.6 ratio
  • sample_count = 97 count
See the setting this justifies
Good to know

Non-default server configuration

Compare with care against a server running default settings.

  • spawn-limit.water-ambient 15 (default 20)
›+3 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
For informationTick spikesredstone

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

  • mspt_avg = 56.7 ms
  • mspt_p99 = 296.88 ms
  • spike_ratio = 5.24 ratio
  • sample_count = 77 count
  • periodic_test = 1

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

Switch the redstone implementation

misc.redstone-implementation: ALTERNATE_CURRENT

Measured : redstone.mspt.avg 56.7 ms (threshold 35.0 ms)

Redstone costs more per tick than the budget allows. Paper ships an alternative wire implementation that computes the same result without the repeated updates of the vanilla one.

Test to replay : redstone

Spigotspigot.yml

Shrink the monster activation range

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

Measured : mobAI.mspt.avg 254.6 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

Currently : 70

Measured : mobAI.mspt.avg 254.6 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": "paper",
    "minecraft": "1.21.11",
    "java": "21.0.12"
  },
  "recommendations": [
    {
      "id": "paper.redstone-alternatif",
      "family": "paper",
      "measure": "redstone.mspt.avg",
      "value": 56.7,
      "unit": "ms",
      "threshold": 35,
      "control_test": "redstone",
      "file": "config/paper-world-defaults.yml",
      "setting": "misc.redstone-implementation",
      "proposed_value": "ALTERNATE_CURRENT",
      "current_value": null
    },
    {
      "id": "spigot.portee-activation-monstres",
      "family": "spigot",
      "measure": "mobAI.mspt.avg",
      "value": 254.6,
      "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": 254.6,
      "unit": "ms",
      "threshold": 50,
      "control_test": "mobAI",
      "file": "bukkit.yml",
      "setting": "spawn-limits.monsters",
      "proposed_value": "50",
      "current_value": "70"
    }
  ]
}

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 21JVM not identifiedCollector: G1Memory: 23552 MiB, safe heap up to 20019 MiB
Current line (7 arguments)

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

-Xms8G -Xmx16G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -Dfile.encoding=UTF-8

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

To test

Performance settings to try one at a time, then measure with a benchmark before and after. None of them is applied in the corrected line, and none comes with a promised gain.

to testAikar's G1 settings

Settings documented by PaperMC for Minecraft servers: they size G1's young generation for the game's very high allocation rate and start collections earlier. Initial and maximum heap at the same size, with AlwaysPreTouch, commit the whole heap at start-up: proposed only because that heap already stays under the memory limit.

-Xms16384M -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1

No measurement of this run points to it: it stays a lead to measure.

source
to testGenerational ZGC

A collector with very short pauses for large heaps, at the cost of more CPU and memory. It replaces the current collector: remove the current collector option and its own tuning options, then measure. On Java 21 and 22 the generational mode needs -XX:+ZGenerational.

-XX:+UseZGC -XX:+ZGenerational

No measurement of this run points to it: it stays a lead to measure.

source

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

RedstoneCritical

Single-core stress via intensive redstone circuit updates.

  • Unfiltered samples usedUsing unfiltered samples (filter rate: 75%)
  • Heavy garbage collection9 collections, 670ms total
  • The run did not hold steadyTPS avg=16,75<19, TPS P1=4,99<15, TPS StdDev=11,29>2, TPS min=4,99 (30% of avg)
TPS
min
4.99
avg
16.75
max
20.00
MSPT
min
0.00
avg
56.70
max
296.90
Percentiles and stability
TPS P1 (worst)4.99
TPS P55.00
TPS P50 (median)20.00
MSPT P95148.44
MSPT P99 (worst)296.88
TPS σ11.287
MSPT σ60.108
TPS derived from MSPT6.74
TPS stability56.4%(Unstable)
MSPT stability240.4%(Unstable)
Raw data (4 fields)
filterRate: 0.75pistonCount: 1,600gcCount: 9gcTimeMs: 670
Block PhysicsHealthy

Single-core stress via falling-block physics.

  • Heavy garbage collection3 collections, 502ms total
TPS
min
15.00
avg
19.91
max
20.00
MSPT
min
11.70
avg
24.90
max
31.30
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.93
TPS P50 (median)20.00
MSPT P9531.25
MSPT P99 (worst)31.25
TPS σ0.604
MSPT σ5.801
TPS derived from MSPT20.00
TPS stability3.0%(Stable)
MSPT stability23.2%(Unstable)
Raw data (5 fields)
spawnFrequency: 1blocksSpawnedPerSecond: 1,167.94gcCount: 3fallingBlockCount: 24,000gcTimeMs: 502

Exploration

Chunk LoadingHealthy

Chunk generation and loading speed across dispersed zones.

  • Heavy garbage collection3 collections, 1420ms total
TPS
min
15.02
avg
19.93
max
20.00
MSPT
min
0.00
avg
4.30
max
19.50
Avg window113.2 chunks
Chunks loaded16000 chunks
Avg chunk load time0.67 ms
Chunks/sec1248.15 chunks/s
Peak window200 chunks
Critical brakes0 events
Peak observed MSPT78.1 ms
Percentiles and stability
TPS P1 (worst)15.02
TPS P519.94
TPS P50 (median)20.00
MSPT P957.81
MSPT P99 (worst)19.53
TPS σ0.513
MSPT σ3.317
TPS derived from MSPT20.00
TPS stability2.6%(Stable)
MSPT stability13.3%(Moderate)
Raw data (2 fields)
gcCount: 3gcTimeMs: 1,420
Chunk TickingHealthy

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

  • Heavy garbage collection4 collections, 640ms total
TPS
min
19.89
avg
19.98
max
20.00
MSPT
min
11.70
avg
22.60
max
31.30
Chunks ticked200 chunks
Percentiles and stability
TPS P1 (worst)19.89
TPS P519.91
TPS P50 (median)20.00
MSPT P9527.34
MSPT P99 (worst)27.34
TPS σ0.055
MSPT σ3.465
TPS derived from MSPT20.00
TPS stability0.3%(Stable)
MSPT stability13.9%(Moderate)
Raw data (3 fields)
gcCount: 4tickSpeed: 20gcTimeMs: 640
Lighting UpdateHealthy

Lighting recomputation throughput on block place / break.

  • Heavy garbage collection1 collections, 152ms total
TPS
min
19.86
avg
19.98
max
20.00
MSPT
min
0.00
avg
3.00
max
7.80
Total lighting updates3227 count
Lighting updates/sec129.9 ops/s
Percentiles and stability
TPS P1 (worst)19.89
TPS P519.92
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)7.81
TPS σ0.053
MSPT σ1.947
TPS derived from MSPT20.00
TPS stability0.3%(Stable)
MSPT stability7.8%(Stable)
Raw data (2 fields)
gcCount: 1gcTimeMs: 152

Entities

Mob AICritical

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

  • Unfiltered samples usedUsing unfiltered samples (filter rate: 96%)
  • Heavy garbage collection2 collections, 313ms total
  • The run did not hold steadyTPS avg=5,80<19, TPS P1=2,94<15, TPS StdDev=3,13>2, TPS min=2,94 (51% of avg)
Phase 1
TPS 5.56
MSPT 263.89 ms
Phase 2
TPS 4.99
MSPT 232.70 ms
TPS
min
2.94
avg
5.80
max
20.00
MSPT
min
0.00
avg
254.60
max
1171.90
Percentiles and stability
TPS P1 (worst)2.94
TPS P54.97
TPS P50 (median)5.00
MSPT P95390.63
MSPT P99 (worst)1171.88
TPS σ3.131
MSPT σ149.217
TPS derived from MSPT2.56
TPS stability15.7%(Moderate)
MSPT stability596.9%(Unstable)
Raw data (12 fields)
globalAvgTps: 5.27phase2AvgTps: 4.99gcCount: 2globalAvgMspt: 248.29villagerCount: 2,400phase1AvgTps: 5.56filterRate: 0.96hostileMobCount: 1,200phase1AvgMspt: 263.89houseCount: 120phase2AvgMspt: 232.70gcTimeMs: 313

Mechanics

HopperHealthy

Intensive hopper chain item transfers.

  • Heavy garbage collection3 collections, 537ms total
TPS
min
18.00
avg
19.95
max
20.00
MSPT
min
0.80
avg
3.10
max
5.20
Items transferred38080 items
Transfer efficiency95.2 %
Items/sec1993.0 items/s
Percentiles and stability
TPS P1 (worst)18.00
TPS P519.91
TPS P50 (median)20.00
MSPT P954.57
MSPT P99 (worst)5.21
TPS σ0.231
MSPT σ0.852
TPS derived from MSPT20.00
TPS stability1.2%(Stable)
MSPT stability3.4%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 537
ExplosionHealthy

Massive TNT explosions and block destruction.

  • Heavy garbage collection3 collections, 617ms total
TPS
min
19.83
avg
19.98
max
20.00
MSPT
min
0.00
avg
4.40
max
11.70
TPS drop during explosions0.17 TPS
Blocks destroyed7671 blocks
Block destruction throughput442.13 blocks/s
Percentiles and stability
TPS P1 (worst)19.83
TPS P519.91
TPS P50 (median)20.00
MSPT P957.81
MSPT P99 (worst)11.72
TPS σ0.058
MSPT σ2.517
TPS derived from MSPT20.00
TPS stability0.3%(Stable)
MSPT stability10.1%(Moderate)
Raw data (2 fields)
gcCount: 3gcTimeMs: 617
Ticking Tile EntitiesHealthy

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

  • Heavy garbage collection3 collections, 556ms total
TPS
min
19.87
avg
19.98
max
20.00
MSPT
min
0.00
avg
2.60
max
3.90
Percentiles and stability
TPS P1 (worst)19.88
TPS P519.92
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.048
MSPT σ1.857
TPS derived from MSPT20.00
TPS stability0.2%(Stable)
MSPT stability7.4%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 556
World SaveHealthy

World save speed and TPS impact during save operations.

  • Heavy garbage collection3 collections, 464ms total
TPS
min
19.91
avg
19.98
max
20.00
MSPT
min
0.00
avg
2.90
max
3.90
World save write speed7.74 MB/s
TPS drop during save0.09 TPS
World size saved38.0 MB
Percentiles and stability
TPS P1 (worst)19.91
TPS P519.91
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.053
MSPT σ1.767
TPS derived from MSPT20.00
TPS stability0.3%(Stable)
MSPT stability7.1%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 464
Bone Meal GrowthHealthy

Rapid crop and tree growth via bone meal.

  • Heavy garbage collection1 collections, 180ms total
TPS
min
19.88
avg
19.98
max
20.00
MSPT
min
0.00
avg
2.70
max
3.90
Percentiles and stability
TPS P1 (worst)19.88
TPS P519.92
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.048
MSPT σ1.816
TPS derived from MSPT20.00
TPS stability0.2%(Stable)
MSPT stability7.3%(Stable)
Raw data (8 fields)
cropsFullyGrown: 466gcCount: 1growthRate: 22.98cropCount: 500boneMealUsed: 1,520treesGrown: 43saplingCount: 200gcTimeMs: 180

CPU

Single-Core (tick-aligned)Healthy

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

  • Heavy garbage collection3 collections, 458ms total
TPS
min
19.88
avg
19.98
max
20.00
MSPT
min
0.00
avg
3.10
max
3.90
Total operations102500000 ops
Single-core ops/s (tick-aligned)10240918 ops/s
Percentiles and stability
TPS P1 (worst)19.88
TPS P519.91
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.056
MSPT σ1.580
TPS derived from MSPT20.00
TPS stability0.3%(Stable)
MSPT stability6.3%(Stable)
Raw data (4 fields)
gcCount: 3cpuKernel: int_alubatchSize: 500,000gcTimeMs: 458
Multi-Core CPUHealthy

Parallel computation throughput across worker threads.

  • Heavy garbage collection1 collections, 151ms total
TPS
min
15.02
avg
19.60
max
20.00
MSPT
min
0.00
avg
2.20
max
7.80
Total operations50000000000 ops
Aggregate ops/s1574844383 ops/s
Percentiles and stability
TPS P1 (worst)15.06
TPS P518.50
TPS P50 (median)20.00
MSPT P957.81
MSPT P99 (worst)7.81
TPS σ1.081
MSPT σ2.401
TPS derived from MSPT20.00
TPS stability5.4%(Stable)
MSPT stability9.6%(Stable)
Raw data (4 fields)
tasksCompleted: 100gcCount: 1cpuKernel: int_alugcTimeMs: 151

Memory & Storage

Memory PerformanceHealthy

RAM bandwidth and latency.

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

  • Heavy garbage collection4 collections, 555ms total
TPS
min
19.86
avg
19.98
max
20.00
MSPT
min
0.00
avg
2.70
max
7.80
Sequential read81.48 MB/s
Memcpy throughput6186.03 MB/s
Random write18.51 MB/s
Memory latency108.2 ns
Sequential write36.09 MB/s
Random read9.41 MB/s
Percentiles and stability
TPS P1 (worst)19.88
TPS P519.91
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.054
MSPT σ1.905
TPS derived from MSPT20.00
TPS stability0.3%(Stable)
MSPT stability7.6%(Stable)
Raw data (2 fields)
gcCount: 4gcTimeMs: 555
Disk PerformanceHealthy

Sequential and random 4K read/write performance.

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

  • Heavy garbage collection4 collections, 238ms total
TPS
min
19.85
avg
19.98
max
20.00
MSPT
min
0.00
avg
3.10
max
7.80
4K read latency p99636.2 µs
Sequential read1635.31 MB/s
Random 4K write168.70 MB/s
4K read latency p95469.7 µs
Random 4K write IOPS43186 IOPS
Random 4K read106.05 MB/s
4K write latency avg70.9 µs
4K read latency p5091.8 µs
4K write latency p99649.6 µs
4K write latency p5045.5 µs
4K write latency p95215.9 µs
Sequential write241.59 MB/s
4K read latency avg144.2 µs
Random 4K read IOPS27149 IOPS
Percentiles and stability
TPS P1 (worst)19.90
TPS P519.93
TPS P50 (median)20.00
MSPT P953.91
MSPT P99 (worst)3.91
TPS σ0.046
MSPT σ1.676
TPS derived from MSPT20.00
TPS stability0.2%(Stable)
MSPT stability6.7%(Stable)
Raw data (3 fields)
cacheInvalidated: yesgcCount: 4gcTimeMs: 238

Network

Network (NBT)Healthy

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

  • Heavy garbage collection4 collections, 166ms total
TPS
min
15.00
avg
19.93
max
20.00
MSPT
min
39.10
avg
46.00
max
67.70
Objects processed20000 obj
NBT serialization throughput5.31 MB/s
Objects/sec980 obj/s
Bytes processed113531305 B
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.92
TPS P50 (median)20.00
MSPT P9550.78
MSPT P99 (worst)67.71
TPS σ0.528
MSPT σ3.356
TPS derived from MSPT19.69
TPS stability2.6%(Stable)
MSPT stability13.4%(Moderate)
Raw data (2 fields)
gcCount: 4gcTimeMs: 166
›Machine and serverIntel(R) Core(TM) i7-4790K CPU @ 4.00GHz · Paper · 1.21.11
CPU Information
ModelIntel(R) Core(TM) i7-4790K CPU @ 4.00GHz
VendorGenuineIntel
Physical Cores4
Logical Cores8
Max Frequency3.991 GHz
Server Information
Server TypePaper (1.21.11-132-c5eb079 (MC: 1.21.11))
Minecraft Version1.21.11
Bukkit Version1.21.11-R0.1-SNAPSHOT
Java Version21.0.12
OSWindows Server 2025
Location🇮🇹 Italy
Plugins1
JVM Memory
Max Heap16.00 GB
Allocated8.00 GB
Used0.49 GB
Free7.51 GB
Heap Usage3.1%
JVM Flags
-Xms8G -Xmx16G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -Dfile.encoding=UTF-8
Dispersed Zones8

Score Breakdown

Detailed sub-category scores

Hardware

Memory12,620
Disk17,963
Multi-Core37,020

Gameplay

Exploration93,184
Entities56,806
Mechanics39,510

Multipliers

Synergy Bonusx0.989
Stability Bonusx0.891
Duration Mult.x1.017