Skip to content

性能基准测试

这里将 Pumpkin 与常见的 Minecraft 服务器软件进行比较。

CAUTION

这个比较并不完全公平。 Pumpkin 目前的功能远少于其他服务器,这可能意味着它使用的资源更少。 同时也要考虑到其他服务器已经有多年的优化经验。 原版分支不需要重写整个原版逻辑,可以专注于优化。

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

规格

技术规格

软件

  • 发行版:Manjaro Linux
  • 架构:x86_64 (64位)
  • 内核版本:6.11.3-arch1-1

硬件

  • 主板:MAG B650 TOMAHAWK WIFI
  • CPU:AMD Ryzen 7600X 6核
  • 内存:Corsair 2x16GB DDR5 6000Mhz
  • 存储:Samsung 990 PRO 1TB PCIe 4.0 M.2 SSD
  • 散热:be quiet Dark Rock Elite

Rust

  • 工具链:stable-x86_64-unknown-linux-gnu (1.81.0)
  • Rust 编译器:rustc 1.81.0 (eeb90cda1 2024-09-04)

Java

  • JDK 版本:OpenJDK 23 64位 2024-09-17
  • JRE 版本:OpenJDK Runtime Environment (build 23+37)
  • 供应商:Oracle

游戏设置

  • Minecraft 版本:1.21.1
  • 视距:10
  • 模拟距离:10
  • 在线模式:false
  • Rcon:false

为了使用非正版账号进行更容易的测试,禁用了在线模式。

NOTE

所有测试都进行了多次以获得更准确的结果。 所有玩家在生成时都没有移动。只加载了初始的8个区块。 所有服务器都使用了各自的地形生成。没有预加载世界。

IMPORTANT

单个玩家时 CPU 最大值 通常更高,因为初始区块正在被加载。

Pumpkin

构建版本:8febc50

编译参数:--release

运行参数:

文件大小: MB

启动时间: ms

关闭时间: ms

玩家数内存CPU 空闲CPU 最大值
0KB%%
1MB%%
2MB%%
5MB%%
10MB%%

Pumpkin 会缓存已加载的区块,除了玩家数据外不会使用额外的内存,且 CPU 使用率最小。

编译时间

从零开始编译:

调试模式: 发布模式:

重新编译 (pumpkin crate):

调试模式: 发布模式:

原版 (Vanilla)

发布版本:1.21.1

编译参数:

运行参数:nogui

文件大小: MB

启动时间:

关闭时间:

玩家数内存CPU 空闲CPU 最大值
0MB - %%
1GB - %%
2GB - %%
5GB%%
10GB%%

Paper

构建版本:122

编译参数:

运行参数:nogui

文件大小: MB

启动时间:

关闭时间:

玩家数内存CPU 空闲CPU 最大值
0GB - %%
1GB - %%
2GB - %%
5GB%%
10GB%%

Purpur

构建版本:2324

编译参数:

运行参数:nogui

文件大小: MB

启动时间:

关闭时间:

玩家数内存CPU 空闲CPU 最大值
0GB - %%
1GB - %%
2GB - %%
5GB%%
10GB - %%

Minestom

提交版本:0ca1dda2fe

编译参数:

运行参数:

语言: 使用 Kotlin 2.0.0 运行基准测试(Minestom 本身使用 Java 开发)

文件大小: MB(库)

启动时间: ms

关闭时间: ms

示例代码来源

玩家数内存CPU 空闲CPU 最大值
0MB - %%
1MB - %%
2MB - %%
5MB%%
10MB%%

基准测试时间

基于 MIT 许可证发布。