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.
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
Jogadores | RAM | CPU Ocioso | CPU Máx |
---|---|---|---|
0 | 392.2KB | 0% | 0% |
1 | 24.9MB | 0% | 4% |
2 | 25.1MB | 0% | 0.6% |
5 | 26MB | 0% | 1% |
10 | 27.1MB | 0% | 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
Jogadores | RAM | CPU ocioso | CPU Máx |
---|---|---|---|
0 | 860MB | 0.1 - 0.3% | 51% |
1 | 1.5GB | 0.9 - 1% | 41% |
2 | 1.6GB | 1 - 1.1% | 10% |
5 | 1.8GB | 2% | 20% |
10 | 2.2GB | 4% | 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
Jogadores | RAM | CPU ocioso | CPU Máx |
---|---|---|---|
0 | 1.1GB | 0.2 - 0.3% | 36% |
1 | 1.7GB | 0.9 - 1% | 47% |
2 | 1.8GB | 1 - 1.1% | 10% |
5 | 1.9GB | 1.5% | 15% |
10 | 2GB | 3% | 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
Jogadores | RAM | CPU ocioso | CPU Máx |
---|---|---|---|
0 | 1.4GB | 0.2 - 0.3% | 25% |
1 | 1.6GB | 0.7 - 1% | 35% |
2 | 1.7GB | 1.1 - 1.3% | 9% |
5 | 1.9GB | 1.6% | 20% |
10 | 2.2GB | 2 - 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
Jogadores | RAM | CPU ocioso | CPU Máx |
---|---|---|---|
0 | 228MB | 0.1 - 0.3% | 1% |
1 | 365MB | 0.9 - 1% | 5% |
2 | 371MB | 1 - 1.1% | 4% |
5 | 390MB | 1% | 6% |
10 | 421MB | 3% | 9% |
Benchmarks realizados em October 15, 2024 at 4:34 PM UTC