Performance Graphs
WARNING
This page presents performance comparison data between Leaf and Paper server implementations. Take these numbers with a grain of salt, it's best to do your own testings and come to a conclusion, these numbers are just "general" estimates for the most common scenarios.
Test Environment
Version: 1.21.4
CPU: i7-10750H
JVM: GraalVM 21
Memory: 6GB
Leaf Commit: 9db6bfb
Paper Commit: a838a88
Seed: 2618050634530417871
Coords: 183.5 67.00 -201.5
JVM Flags
-Xms6144M -Xmx6144M --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20
Performance Comparison (MSPT - lower is better)
Default Config
Increased Mob Caps
Performance Improvement
Test Configuration
Default settings in bukkit.yml, spigot.yml, and other configuration files.
Increased Mob Caps Configuration
Modified settings in bukkit.yml:
- monsters: 70 → 700
- animals: 10 → 100
All other configuration files remained at default settings.
Leaf+Async Configuration
Enabled minimal async options in leaf-global.yml:
yaml
async:
async-entity-tracker:
enabled: true
async-pathfinding:
enabled: true
Combined with the increased mob caps configuration.