Skip to content

Benchmarks

Aqui, softwares de servidores Minecraft comuns são comparados com o Pumpkin.

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.

Screenshot From 2024-10-15 16-42-53

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.

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.

IMPORTANTE

CPU Max geralmente é maior com um jogador, pois os chunks iniciais estão sendo carregados.

Pumpkin

Build: 8febc50

Argumentos de compilação: --release

Argumentos de execução:

Tamanho do arquivo: 12.3MB

Tempo de inicialização: 8ms

Tempo de desligamento: 0ms

JogadoresRAMCPU OciosoCPU Máx
0392.2KB0%0%
124.9MB0%4%
225.1MB0%0.6%
526MB0%1%
1027.1MB0%1.5%

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: 10.35sec
Release: 38.4sec

Recompilação (pumpkin crate):

Debug: 1.82sec
Release: 28.68sec

Vanilla

Release: 1.21.1

Argumentos de compilação:

Argumentos de execução: nogui

Tamanho do arquivo: 51.6MB

Tempo de inicialização: 7sec

Tempo de desligamento: 4sec

JogadoresRAMCPU ociosoCPU Máx
0860MB0.1 - 0.3%51%
11.5GB0.9 - 1%41%
21.6GB1 - 1.1%10%
51.8GB2%20%
102.2GB4%24%

Paper

Build: 122

Argumentos de compilação:

Argumentos de execução: nogui

Tamanho do arquivo: 49.4MB

Tempo de inicialização: 7sec

Tempo de desligamento: 3sec

JogadoresRAMCPU ociosoCPU Máx
01.1GB0.2 - 0.3%36%
11.7GB0.9 - 1%47%
21.8GB1 - 1.1%10%
51.9GB1.5%15%
102GB3%20%

Purpur

Build: 2324

Argumentos de compilação:

Argumentos de execução: nogui

Tamanho do arquivo: 53.1MB

Tempo de inicialização: 8sec

Tempo de desligamento: 4sec

JogadoresRAMCPU ociosoCPU Máx
01.4GB0.2 - 0.3%25%
11.6GB0.7 - 1%35%
21.7GB1.1 - 1.3%9%
51.9GB1.6%20%
102.2GB2 - 2.5%26%

Minestom

Commit: 0ca1dda2fe

Argumentos de compilação:

Argumentos de execução:

Idioma: Benchmarks executados com Kotlin 2.0.0 (Minestom é feito com Java)

Tamanho do arquivo: 2.8MB (Biblioteca)

Tempo de inicialização: 310ms

Tempo de desligamento: 0ms

Usado o código do exemplo de

JogadoresRAMCPU ociosoCPU Máx
0228MB0.1 - 0.3%1%
1365MB0.9 - 1%5%
2371MB1 - 1.1%4%
5390MB1%6%
10421MB3%9%

Benchmarks realizados em October 15, 2024 at 4:34 PM UTC

Distribuído sob a Licença MIT.