# Benchmarks Here, common Minecraft server software is compared against Pumpkin. > [!CAUTION] > **This comparison is unfair.** Pumpkin currently has far fewer features than other servers, which might suggest it uses fewer resources. > It's also important to consider that other servers have had years to optimize. > Vanilla forks, which don’t need to rewrite the entire Vanilla logic, can focus exclusively on optimizations. ![A screenshot showing 9 Minecraft game windows](https://github.com/user-attachments/assets/e08fbb00-42fe-4479-a03b-11bb6886c91a) ## Specifications ### Technical #### Software - Distribution: Manjaro Linux - Architecture: x86_64 (64-bit) - Kernel Version: 6.11.3-arch1-1 #### Hardware - Motherboard: MAG B650 TOMAHAWK WIFI - CPU: AMD Ryzen 7600X 6-Core - RAM: Corsair 2x16GB DDR5 6000Mhz - Storage: Samsung 990 PRO 1TB PCIe 4.0 M.2 SSD - Cooling: be quiet Dark Rock Elite #### Rust - Toolchain: stable-x86_64-unknown-linux-gnu (1.81.0) - Rust Compiler: rustc 1.81.0 (eeb90cda1 2024-09-04) #### Java - JDK Version: OpenJDK 23 64-Bit 2024-09-17 - JRE Version: OpenJDK Runtime Environment (build 23+37) - Vendor: Oracle #### Game - Minecraft version: 1.21.1 - View distance: 10 - Simulated distance: 10 - Online mode: false - RCON: false Online mode was disabled for easier testing with non-premium accounts. > [!NOTE] > All tests have been ran multiple times for more accurate results. > All players did not move when spawning. Only the initial 8 chunks were loaded. > All servers used their own terrain generation. No world was pre-loaded. > [!IMPORTANT] > `CPU Max` is usually higher with one player because the initial chunks are being loaded. ## Pumpkin Build: [8febc50](https://github.com/Snowiiii/Pumpkin/commit/8febc5035d5611558c13505b7724e6ca284e0ada) Compile args: `--release` Run args: **File Size:** MB **Startup time:** ms **Shutdown time:** ms | Players | RAM | CPU Idle | CPU Max | | ------- | --------------------- | ---------------- | ------------------ | | 0 | KB | % | % | | 1 | MB | % | % | | 2 | MB | % | % | | 5 | MB | % | % | | 10 | MB | % | % | Pumpkin does cache already loaded chunks, resulting in no extra RAM usage besides player data and minimal CPU usage. ### Compile time Compiling from nothing: **Debug:** sec **Release:** sec Recompilation (pumpkin crate): **Debug:** sec **Release:** sec ## Vanilla Release: [1.21.1](https://piston-data.mojang.com/v1/objects/59353fb40c36d304f2035d51e7d6e6baa98dc05c/server.jar) Compile args: Run args: `nogui` **File Size:** MB **Startup time:** sec **Shutdown time:** sec | Players | RAM | CPU idle | CPU Max | | ------- | --------------------- | ---------------------------------------- | ------------------ | | 0 | MB | - % | % | | 1 | GB | - % | % | | 2 | GB | - % | % | | 5 | GB | % | % | | 10 | GB | % | % | ## Paper Build: [122](https://api.papermc.io/v2/projects/paper/versions/1.21.1/builds/122/downloads/paper-1.21.1-122.jar) Compile args: Run args: `nogui` **File Size:** MB **Startup time:** sec **Shutdown time:** sec | Players | RAM | CPU idle | CPU Max | | ------- | ------------------- | -------------------------------------- | ----------------- | | 0 | GB | - % | % | | 1 | GB | - % | % | | 2 | GB | - % | % | | 5 | GB | % | % | | 10 | GB | % | % | ## Purpur Build: [2324](https://api.purpurmc.org/v2/purpur/1.21.1/2324/download) Compile args: Run args: `nogui` **File Size:** MB **Startup time:** sec **Shutdown time:** sec | Players | RAM | CPU idle | CPU Max | | ------- | ------------------- | -------------------------------------- | ----------------- | | 0 | GB | - % | % | | 1 | GB | - % | % | | 2 | GB | - % | % | | 5 | GB | % | % | | 10 | GB | - % | % | ## Minestom Commit: [0ca1dda2fe](https://github.com/Minestom/Minestom/commit/0ca1dda2fe11390a1b89a228bbe7bf78fefc73e1) Compile args: Run args: **Language:** Benchmarks ran with Kotlin 2.0.0 (Minestom itself is made with Java) **File Size:** MB (Library) **Startup time:** ms **Shutdown time:** ms [Used example code from](https://minestom.net/docs/setup/your-first-server) | Players | RAM | CPU idle | CPU Max | | ------- | ------------------- | -------------------------------------- | ---------------- | | 0 | MB | - % | % | | 1 | MB | - % | % | | 2 | MB | - % | % | | 5 | MB | % | % | | 10 | MB | % | % | Benchmarked at