# Benchmarks Aqui, softwares de servidores Minecraft comuns são comparados com o Pumpkin. > [!CAUTION] CUIDADO > **Esta comparação é injusta.** Pumpkin atualmente tem muito menos recursos que outros servidores, o que pode sugerir que ele usa menos recursos. > Também é importante considerar que outros servidores tiveram anos para otimizar. > Forks do Vanilla, que não precisam reescrever toda a lógica do Vanilla, podem se concentrar exclusivamente em otimizações. ![A screenshot showing 9 Minecraft game windows](https://github.com/user-attachments/assets/e08fbb00-42fe-4479-a03b-11bb6886c91a) ## Especificações #### Técnicas **Software** - Distribuição: Manjaro Linux - Arquitetura: x86_64 (64-bit) - Versão do Kernel: 6.11.3-arch1-1 **Hardware** - Placa-mãe: MAG B650 TOMAHAWK WIFI - CPU: AMD Ryzen 7600X 6-Core - RAM: Corsair 2x16GB DDR5 6000Mhz - Armazenamento: Samsung 990 PRO 1TB PCIe 4.0 M.2 SSD - Refrigeração: be quiet Dark Rock Elite **Rust** - Toolchain: stable-x86_64-unknown-linux-gnu (1.81.0) - Compilador Rust: rustc 1.81.0 (eeb90cda1 2024-09-04) **Java** - Versão do JDK: OpenJDK 23 64-Bit 2024-09-17 - Versão do JRE: OpenJDK Runtime Environment (build 23+37) - Fornecedor: Oracle #### Jogo - Versão do Minecraft: 1.21.1 - Distância de visão: 10 - Distância simulada: 10 - Modo online: falso - Rcon: falso O modo online foi desativado para facilitar os testes com contas não premium. > [!NOTE] NOTA > Todos os testes foram realizados várias vezes para obter resultados mais precisos. > Todos os jogadores não se moveram ao nascer. Apenas os 8 primeiros chunks foram carregados. > Todos os servidores usaram sua própria geração de terreno. Nenhum mundo foi pré-carregado. > [!IMPORTANT] IMPORTANTE > `CPU Max` geralmente é maior com um jogador, pois os chunks iniciais estão sendo carregados. ## Pumpkin Build: [8febc50](https://github.com/Snowiiii/Pumpkin/commit/8febc5035d5611558c13505b7724e6ca284e0ada) Argumentos de compilação: `--release` Argumentos de execução: **Tamanho do arquivo:** MB **Tempo de inicialização:** ms **Tempo de desligamento:** ms | Jogadores | RAM | CPU Ocioso | CPU Máx | | --------- | --------------------- | ---------------- | ------------------ | | 0 | KB | % | % | | 1 | MB | % | % | | 2 | MB | % | % | | 5 | MB | % | % | | 10 | MB | % | % | Pumpkin faz cache dos chunks já carregados, resultando em nenhum uso extra de RAM além dos dados do jogador e uso mínimo de CPU. #### Tempo de compilação Compilando do zero: **Debug:** sec **Release:** sec Recompilação (pumpkin crate): **Debug:** sec **Release:** sec ## Vanilla Release: [1.21.1](https://piston-data.mojang.com/v1/objects/59353fb40c36d304f2035d51e7d6e6baa98dc05c/server.jar) Argumentos de compilação: Argumentos de execução: `nogui` **Tamanho do arquivo:** MB **Tempo de inicialização:** sec **Tempo de desligamento:** sec | Jogadores | RAM | CPU ocioso | CPU Máx | | --------- | -------------------- | ---------------------------------------- | ------------------ | | 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) Argumentos de compilação: Argumentos de execução: `nogui` **Tamanho do arquivo:** MB **Tempo de inicialização:** sec **Tempo de desligamento:** sec | Jogadores | RAM | CPU ocioso | CPU Máx | | --------- | ------------------- | -------------------------------------- | ----------------- | | 0 | GB | - % | % | | 1 | GB | - % | % | | 2 | GB | - % | % | | 5 | GB | % | % | | 10 | GB | % | % | ## Purpur Build: [2324](https://api.purpurmc.org/v2/purpur/1.21.1/2324/download) Argumentos de compilação: Argumentos de execução: `nogui` **Tamanho do arquivo:** MB **Tempo de inicialização:** sec **Tempo de desligamento:** sec | Jogadores | RAM | CPU ocioso | CPU Máx | | --------- | ------------------- | -------------------------------------- | ----------------- | | 0 | GB | - % | % | | 1 | GB | - % | % | | 2 | GB | - % | % | | 5 | GB | % | % | | 10 | GB | - % | % | ## Minestom Commit: [0ca1dda2fe](https://github.com/Minestom/Minestom/commit/0ca1dda2fe11390a1b89a228bbe7bf78fefc73e1) Argumentos de compilação: Argumentos de execução: **Idioma:** Benchmarks executados com Kotlin 2.0.0 (Minestom é feito com Java) **Tamanho do arquivo:** MB (Biblioteca) **Tempo de inicialização:** ms **Tempo de desligamento:** ms [Usado o código do exemplo de](https://minestom.net/docs/setup/your-first-server) | Jogadores | RAM | CPU ocioso | CPU Máx | | --------- | ------------------- | -------------------------------------- | ---------------- | | 0 | MB | - % | % | | 1 | MB | - % | % | | 2 | MB | - % | % | | 5 | MB | % | % | | 10 | MB | % | % | Benchmarks realizados em