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: MB

Tempo de inicialização: ms

Tempo de desligamento: ms

JogadoresRAMCPU OciosoCPU Máx
0KB%%
1MB%%
2MB%%
5MB%%
10MB%%

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

Argumentos de compilação:

Argumentos de execução: nogui

Tamanho do arquivo: MB

Tempo de inicialização: sec

Tempo de desligamento: sec

JogadoresRAMCPU ociosoCPU Máx
0MB - %%
1GB - %%
2GB - %%
5GB%%
10GB%%

Paper

Build: 122

Argumentos de compilação:

Argumentos de execução: nogui

Tamanho do arquivo: MB

Tempo de inicialização: sec

Tempo de desligamento: sec

JogadoresRAMCPU ociosoCPU Máx
0GB - %%
1GB - %%
2GB - %%
5GB%%
10GB%%

Purpur

Build: 2324

Argumentos de compilação:

Argumentos de execução: nogui

Tamanho do arquivo: MB

Tempo de inicialização: sec

Tempo de desligamento: sec

JogadoresRAMCPU ociosoCPU Máx
0GB - %%
1GB - %%
2GB - %%
5GB%%
10GB - %%

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: MB (Biblioteca)

Tempo de inicialização: ms

Tempo de desligamento: ms

Usado o código do exemplo de

JogadoresRAMCPU ociosoCPU Máx
0MB - %%
1MB - %%
2MB - %%
5MB%%
10MB%%

Benchmarks realizados em

Distribuído sob a Licença MIT.