From 7da32100a87323b9d7d2a62004d4244bbb986f08 Mon Sep 17 00:00:00 2001 From: Ludovic Marie <136255825+ludovic111@users.noreply.github.com> Date: Sat, 17 Oct 2026 20:18:40 +0200 Subject: [PATCH] Server benchmark 2026-10-17: rerun on main 7bbbf6e9 on a quiet machine, equal work, profile Replaces the overloaded Mac mini data. Keeps the 002f14ce run as a before/after. Co-Authored-By: Claude Opus 5.5 --- benchmarks/server-2026-10-17/README.md | 213 ++++-- .../earlier-002f14ce/explore-equal-rate.json | 341 +++++++++ .../earlier-002f14ce/load.txt | 278 +++++++ .../earlier-002f14ce/walk-explore.json | 695 ++++++++++++++++++ .../server-2026-10-17/explore-equal-rate.json | 341 +++++++++ benchmarks/server-2026-10-17/explore.json | 212 ------ benchmarks/server-2026-10-17/load.txt | 460 +++++++----- .../server-2026-10-17/walk-explore.json | 695 ++++++++++++++++++ benchmarks/server-2026-10-17/walk.json | 228 ------ 9 files changed, 2776 insertions(+), 687 deletions(-) create mode 100644 benchmarks/server-2026-10-17/earlier-002f14ce/explore-equal-rate.json create mode 100644 benchmarks/server-2026-10-17/earlier-002f14ce/load.txt create mode 100644 benchmarks/server-2026-10-17/earlier-002f14ce/walk-explore.json create mode 100644 benchmarks/server-2026-10-17/explore-equal-rate.json delete mode 100644 benchmarks/server-2026-10-17/explore.json create mode 100644 benchmarks/server-2026-10-17/walk-explore.json delete mode 100644 benchmarks/server-2026-10-17/walk.json diff --git a/benchmarks/server-2026-10-17/README.md b/benchmarks/server-2026-10-17/README.md index 3399a61302..4a3cd3dcc8 100644 --- a/benchmarks/server-2026-10-17/README.md +++ b/benchmarks/server-2026-10-17/README.md @@ -1,93 +1,174 @@ # Dedicated server against vanilla 26.3, with bots (2026-10-17) -`horizon-client --dedicated` (run by `horizon-server`) against the pinned vanilla 26.3 `server.jar`. Each -run uses `horizon-bots` and `tools/server_bench.py`, with 1, 10, 25, 50 and 100 bots, `walk` and then -`explore`. The two servers take turns at each bot count. +`horizon-client --dedicated` (run by `horizon-server`) against the pinned vanilla 26.3 `server.jar`, on `main` +at `7bbbf6e9` (in release v2026.10.17.17). That build has the movement checks and chunk pacing of #586, the +equal-work method of #670, and the server performance PRs #701–#707 and #713. -**Read this first: the machine was overloaded.** The Mac mini was shared with other agents' builds and -harnesses. Its load average was 55 to 141 on 14 threads, and the CPU was 77–89 % busy before either server -started (`load.txt`, sampled every 30 s). The 1- and 10-bot rows compare the servers fairly enough. Above -that, both servers collapsed: vanilla's watchdog killed it after a 60-second tick in 5 of the 10 large runs. -Treat those rows as "it falls over on a starved machine", not as each server's capacity. +This replaces the data first published here, which came from a Mac mini overloaded by other work (load 55–141 on +14 threads). An earlier run of this method, on `main` at `002f14ce`, is kept in `earlier-002f14ce/` and compared +at the end. ## Setup -- **Machine:** Mac mini M4 Pro (14 threads, 64 GB), macOS 27.0.1. -- **Horizon:** release build of `main` at `123987c4` (`horizon-server`, `horizon-client`, `horizon-bots`). - The `commit` field in the JSON is that build. `worktree_commit` is the checkout the script ran from. +- **Server machine:** ThinkPad, Intel i7-7500U (2 cores, 4 threads), 32 GB, NixOS. Nothing else heavy ran on it: + its load average was 0.4 when idle. Both servers ran under `nice -n 19`. +- **Bots:** `horizon-bots` on another machine (Mac mini M4 Pro), over the tailnet. That machine was shared with + other work (load 36–170 on 14 threads, mean 78). The bots need little CPU, but a busy bot host can answer later. + Both servers saw the same conditions, since they took turns at each bot count. +- **Horizon:** release build of `7bbbf6e9` (`horizon-server`, `horizon-client`). - **Vanilla:** the pinned 26.3 `server.jar` on OpenJDK 25.0.4.1, with `-Xms4g -Xmx4g`. - **Properties:** - `level-seed=12345`, view and simulation distance 10, creative (forced); - - `online-mode=false`, `difficulty=easy`, `max-players=200`. + - `online-mode=false`, `difficulty=easy`, `max-players=200`; + - default game rules on both (the locator bar is on). - **Each run:** a fresh server, bots joining one per second, a 60 s warm-up, then 180 s measured. -- **Command:** +- **Commands** (on the server machine): ``` - HORIZON_BENCH_BIN= python3 tools/server_bench.py --servers horizon,vanilla \ - --bots 1,10,25,50,100 --behaviour walk|explore --warmup 60 --seconds 180 + python3 tools/server_bench.py --servers horizon,vanilla --nice 19 --warmup 60 --seconds 180 \ + --bots-via "ssh " --bots-bin --connect \ + --bots 1,10,25,50,100 --behaviour walk,explore + python3 tools/server_bench.py ...same... --bots 1,10,25,50 --behaviour explore --explore-speed 0.8 ``` - **Columns:** - - **TPS and MSPT** come from `/tick query`. - - **RSS** is the mean over the run. **CPU** is the process tree, as a percentage of one core. - - **Chunks/s** is what the bots received. - - **Load** is the machine's load average during that run. + - **MSPT** (mean) and **P95** come from `/tick query`, in ms. **TPS** is the tick rate. + - **RSS** is the mean over the run. **CPU** is the whole process tree, as a percentage of one core. + - **Chunks/s** is what the bots received. **New chunks/s** counts each chunk once per bot. + - **Pulled back** counts the times the server moved a bot back (vanilla's "moved too quickly" and similar). + - **Load** is the mean load average during that run: the server machine (which includes the server's own + threads) and the bot host. ## Results +### Equal work: bots explore at the same pace (`--explore-speed 0.8`) + +Each bot flies outwards at 0.8 blocks a second, which both servers keep up with. They send the same chunks, so +the tick times compare the same work. + +| Bots | Server | MSPT | P95 | TPS | RSS | CPU | Chunks/s | New chunks/s | Pulled back | Load (server / bots) | +|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| 1 | Horizon | 3.16 | 5.78 | 20.0 | 0.76 GB | 22 % | 2 | 1.27 | 0 | 2.8 / 63 | +| 1 | Vanilla | 16.82 | 27.3 | 20.0 | 3.37 GB | 69 % | 2 | 1.35 | 0 | 1.8 / 94 | +| 10 | Horizon | 9.83 | 19.01 | 20.0 | 0.86 GB | 77 % | 14 | 12.31 | 1051 | 2.2 / 74 | +| 10 | Vanilla | 24.38 | 39.58 | 20.0 | 3.57 GB | 132 % | 14 | 12.32 | 1027 | 2.5 / 64 | +| 25 | Horizon | 16.87 | 30.88 | 20.0 | 0.89 GB | 111 % | 34 | 29.92 | 3770 | 5.1 / 51 | +| 25 | Vanilla | 30.29 | 43.47 | 20.0 | 3.61 GB | 176 % | 33 | 29.29 | 5139 | 5.2 / 55 | +| 50 | Horizon | 23.57 | 47.53 | 20.0 | 0.92 GB | 127 % | 67 | 59.42 | 7434 | 8.5 / 64 | +| 50 | Vanilla | 42.44 | 54.84 | 20.0 | 3.67 GB | 201 % | 65 | 58.11 | 10604 | 5.1 / 59 | + ### `walk`: bots walk around the spawn -| Bots | Server | TPS | MSPT avg | MSPT p99 | RSS | CPU | Chunks/s | Load | -|---:|---|---:|---:|---:|---:|---:|---:|---:| -| 1 | Horizon | 20.0 | **4.9 ms** | 86 ms | **1.63 GB** | 18 % | 10.5 | 68 | -| 1 | vanilla | 20.0 | 13.4 ms | 84 ms | 3.47 GB | 26 % | 10.1 | 64 | -| 10 | Horizon | 20.0 | **11.5 ms** | 138 ms | **1.57 GB** | 38 % | 101.5 | 55 | -| 10 | vanilla | 20.0 | 21.2 ms | 112 ms | 3.46 GB | 49 % | 93.7 | 58 | -| 25 | Horizon | **0.9** | 1115 ms | 4513 ms | 1.61 GB | 45 % | 200.9 | 83 | -| 25 | vanilla | **20.0** | 38.8 ms | 250 ms | 3.58 GB | 69 % | 255.2 | 85 | -| 50 | Horizon | 0.46 | 2192 ms | 14169 ms | 1.71 GB | 24 % | 125.7 | 125 | -| 50 | vanilla | crashed | 60 s tick, watchdog | | | | | 141 | -| 100 | Horizon | 0.38 | 2638 ms | 17095 ms | 1.91 GB | 46 % | 222.0 | 109 | -| 100 | vanilla | crashed | 60 s tick, watchdog | | | | | 87 | +| Bots | Server | MSPT | P95 | TPS | RSS | CPU | Chunks/s | New chunks/s | Pulled back | Load (server / bots) | +|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| 1 | Horizon | 4.01 | 8.19 | 20.0 | 0.78 GB | 59 % | 10 | 0.43 | 0 | 1.4 / 70 | +| 1 | Vanilla | 18.22 | 29.34 | 20.0 | 3.43 GB | 69 % | 10 | 0.47 | 0 | 1.9 / 63 | +| 10 | Horizon | 8.79 | 17.35 | 20.0 | 0.78 GB | 119 % | 95 | 3.58 | 0 | 2.9 / 69 | +| 10 | Vanilla | 18.67 | 38.26 | 20.0 | 3.50 GB | 101 % | 101 | 4.38 | 5 | 3.2 / 59 | +| 25 | Horizon | 15.01 | 31.12 | 20.0 | 0.80 GB | 161 % | 234 | 8.49 | 0 | 6.3 / 43 | +| 25 | Vanilla | 18.78 | 28.16 | 20.0 | 3.52 GB | 155 % | 252 | 11.89 | 10 | 6.7 / 57 | +| 50 | Horizon | 22.72 | 60.19 | 20.0 | 0.81 GB | 180 % | 465 | 16.94 | 0 | 14.7 / 50 | +| 50 | Vanilla | 34.3 | 55.55 | 20.0 | 3.58 GB | 267 % | 497 | 26.74 | 39 | 9.5 / 56 | +| 100 | Horizon | 63.33 | 125.04 | 15.79 | 0.87 GB | 246 % | 678 | 31.8 | 0 | 32.9 / 95 | +| 100 | Vanilla | stopped by its watchdog (a 60 s tick) | | | | | | | | 15.1 / 120 | -### `explore`: bots fly outwards in straight lines +Both servers sent each walking bot the same number of distinct chunks over the whole run (680–690). Horizon's +"new chunks/s" inside the measured window is lower, so compare the totals, not that column. -| Bots | Server | TPS | MSPT avg | MSPT p99 | RSS | CPU | Chunks/s | Load | -|---:|---|---:|---:|---:|---:|---:|---:|---:| -| 1 | Horizon | 20.0 | 11.6 ms | 123 ms | **1.69 GB** | 120 % | 44.5 | 95 | -| 1 | vanilla | 20.0 | 15.9 ms | 110 ms | 3.52 GB | 92 % | 32.3 | 110 | -| 10 | Horizon | 20.0 | 8.2 ms | 48 ms | 2.03 GB | 275 % | **10.8** | 80 | -| 10 | vanilla | 20.0 | 30.8 ms | 282 ms | 4.62 GB | 169 % | 41.4 | 66 | -| 25 | Horizon | 20.0 | 14.6 ms | 81 ms | 1.94 GB | 231 % | **0.0** | 76 | -| 25 | vanilla | crashed | 60 s tick, watchdog | | | | | 84 | -| 50 | Horizon | 13.9 | 72.2 ms | 285 ms | 2.69 GB | 163 % | **0.0** | 83 | -| 50 | vanilla | crashed | 60 s tick, watchdog | | | | | 98 | -| 100 | Horizon | 4.2 | 239 ms | 581 ms | 1.84 GB | 106 % | **0.0** | 122 | -| 100 | vanilla | crashed | 60 s tick, watchdog | | | | | 140 | +### `explore` at full speed: unequal work -From 10 `explore` bots up, Horizon's ticks look short only because it does not do the work. Its bots -received few or no new chunks: generation and lighting fall behind fast fliers, and the hub sends only lit -chunks. Vanilla generated 4 times more terrain for 10 bots before it collapsed at 25. This build has no -movement checks (#586), so Horizon never pulls fast players back the way vanilla does. +Bots fly outwards as fast as chunks arrive (`horizon-bots`' default, up to 22 blocks a second). Both servers now pull them back ("moved too quickly"), but Horizon sends +more new terrain, so this pass doesn't compare equal work. The server-machine load of Horizon's 1-bot run is +estimated from the time between the runs around it: its log was overwritten before it was read. + +| Bots | Server | MSPT | P95 | TPS | RSS | CPU | Chunks/s | New chunks/s | Pulled back | Load (server / bots) | +|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| 1 | Horizon | 9.73 | 20.99 | 20.0 | 0.84 GB | 330 % | 41 | 35.96 | 0 | 4.7 / 129 | +| 1 | Vanilla | 9.71 | 20.37 | 20.0 | 3.61 GB | 247 % | 35 | 33.61 | 0 | 4.3 / 156 | +| 10 | Horizon | 21.27 | 39.15 | 20.0 | 1.18 GB | 322 % | 46 | 46.11 | 9856 | 5.0 / 114 | +| 10 | Vanilla | 16.94 | 30.28 | 20.0 | 3.95 GB | 254 % | 25 | 25.01 | 11123 | 5.5 / 89 | +| 25 | Horizon | 25.76 | 45.01 | 20.0 | 1.17 GB | 314 % | 61 | 60.7 | 31264 | 6.6 / 82 | +| 25 | Vanilla | 24.93 | 37.09 | 20.0 | 4.04 GB | 305 % | 38 | 37.84 | 33467 | 6.1 / 91 | +| 50 | Horizon | 39.31 | 65.33 | 20.0 | 1.25 GB | 325 % | 115 | 112.25 | 64163 | 6.9 / 95 | +| 50 | Vanilla | stopped by its watchdog (a 60 s tick) | | | | | | | | 7.7 / 86 | +| 100 | Horizon | 52.7 | 85.73 | 18.97 | 1.36 GB | 328 % | 154 | 151.83 | 116161 | 13.4 / 79 | +| 100 | Vanilla | stopped by its watchdog (a 60 s tick) | | | | | | | | 10.0 / 72 | + +Vanilla's watchdog stopped it after a 60-second tick in three runs (walk 100, explore 50 and 100). Each time its +server thread was in entity tracking (`ChunkMap$TrackedEntity.updatePlayer`). ## What it shows -- **1 to 10 players:** Horizon ticks in about half of vanilla's time with less than half its memory. That - holds in both behaviours. -- **25 walking players: Horizon collapses and vanilla doesn't.** A 20-second `sample` of the main thread - during a separate 25-bot `walk` run (MSPT 1464 ms) found the cause. 96 % of the server thread was inside - `Hub::tick` → `ChunkEncoder::encode_in` (`crates/horizon-client/src/lan/chunks.rs`), encoding chunk - packets for the bots: - - `Paletted::from_values` re-palettes every section from the unpacked values; - - `PalettedContainer::unpack_u16` is called, among other places, by `occupied()`, which unpacks the 24 - sections of each of the 9 neighbouring columns for every chunk sent; - - `light_data` runs twice per chunk (`encode` computes it, and `encode_in` overwrites it); - - `client_heightmaps` is computed again for each player. - - Every chunk is encoded again for every player who receives it. At about 200 chunks/s, that alone fills the - tick. -- **Memory:** Horizon's RSS stayed at 1.6–2.7 GB in every run, against 3.5–4.6 GB for vanilla with its - 4 GB heap. +- **Same work, 1 to 50 players:** Horizon's mean tick is 44–81 % shorter than vanilla's, its 95th percentile is + lower, and its process uses 32–63 % of vanilla's CPU. +- **Walking, 1 to 50 players:** Horizon's mean tick is shorter at every count (4.0 against 18.2 ms with 1 bot, + 22.7 against 34.3 ms with 50). +- **Where vanilla wins:** + - With 25 and 50 walking bots, vanilla's 95th percentile is lower (28.2 against 31.1 ms, 55.6 against + 60.2 ms). Horizon's slow ticks are spikier. + - In the full-speed explore pass, vanilla's mean tick is shorter with 10 and 25 bots (16.9 against 21.3 ms, + 24.9 against 25.8 ms), while Horizon sends 1.6–1.8 times as many new chunks. + - With 50 walking bots, Horizon makes the server machine busier (load 14.7 against 9.5). Its connection + writer threads compress every packet (below). +- **100 players:** Horizon keeps 15.8 TPS walking and 19.0 TPS exploring at full speed. Vanilla's watchdog + stopped it in both. +- **Memory:** Horizon used 0.76–0.92 GB in every walk and equal-work run, and 1.36 GB at most when 100 bots + explored at full speed. Vanilla used 3.4–4.0 GB with its 4 GB heap. +- **Start:** Horizon's fresh world was ready in 9.2–9.9 s, vanilla's in 14.9–17.2 s. + +## Where Horizon's time goes (50 walking bots) + +`perf record -e cycles:u --call-graph lbr` on the engine for 30 s, during a separate 50-bot `walk` run on the same +build and machine (MSPT 21.7 ms, 178 % CPU). Shares of all the engine's CPU samples: + +| Thread | Share | Mostly | +|---|---:|---| +| Connection writers (`horizon-lan-out`) | 55 % | 53 % in `miniz_oxide` deflate, from `horizon_protocol::frame::encode` | +| World generation workers | 33 % | noise, surface rules, aquifers | +| Server thread (the tick) | 12 % | see below | + +Inside the tick: +- the locator bar (`Waypoints::tick`): a third of the tick; +- `Hub::tick`: a quarter; +- block entities, creatures, chunk encoding (`ChunkEncoder::encode_in`) and `Streaming::update`: 7–10 % each; +- SipHash of `u128` keys (the default `HashMap` hasher): about 10 % of the tick. + +**The next biggest cost is compressing packets.** Every chunk packet is compressed again for each player who gets +it, with `flate2`'s default `miniz_oxide` backend at level 6. On this 4-thread CPU that competes with the tick +and with world generation. Two fixes, which can be combined: +- the `zlib-rs` backend for `flate2`: 2.2–10 times faster than `miniz_oxide` at level 6 in a quick test, with + output about 3 % larger; +- compressing a chunk packet once and sending the same bytes to every player who needs it. + +## Before and after the performance PRs + +The earlier run, on `main` at `002f14ce` with #670's bench changes (build `a9ee56a8`), before #586, #701–#707 and +#713. Same machines and settings. MSPT mean / P95, in ms: + +Walk: + +| Bots | Horizon before | Horizon now | Vanilla before | Vanilla now | +|---:|---|---|---|---| +| 1 | 5.77 / 11.04 | 4.01 / 8.19 | 18.84 / 29.55 | 18.22 / 29.34 | +| 10 | 16.23 / 29.32 | 8.79 / 17.35 | 18.02 / 37.62 | 18.67 / 38.26 | +| 25 | 23.98 / 49.18 | 15.01 / 31.12 | 19.19 / 33.84 | 18.78 / 28.16 | +| 50 | 35.07 / 73.24 | 22.72 / 60.19 | 35.23 / 60.87 | 34.3 / 55.55 | +| 100 | 104.8 / 158.8 | 63.33 / 125.04 | watchdog | watchdog | + +Equal work: + +| Bots | Horizon before | Horizon now | Vanilla before | Vanilla now | +|---:|---|---|---|---| +| 1 | 4.78 / 7.3 | 3.16 / 5.78 | 16.63 / 26.23 | 16.82 / 27.3 | +| 10 | 15.19 / 25.66 | 9.83 / 19.01 | 24.65 / 40.81 | 24.38 / 39.58 | +| 25 | 23.37 / 42.59 | 16.87 / 30.88 | 30.28 / 44.81 | 30.29 / 43.47 | +| 50 | 30.59 / 67.94 | 23.57 / 47.53 | 43.52 / 56.18 | 42.44 / 54.84 | + +Vanilla's numbers repeat within a few percent, so the runs are comparable. In the earlier run, 25 walking bots +were faster on vanilla (19.2 against 24.0 ms). A profile then put a third of the tick in advancement updates, +which #701 fixed. ## Files -- `walk.json`, `explore.json`: the `horizon-server-benchmark` reports. -- `load.txt`: the machine's load average and CPU use every 30 s, with the share taken by agents. +- `walk-explore.json`: the `walk` and full-speed `explore` passes. `explore-equal-rate.json`: the equal-work pass. +- `load.txt`: both machines' load averages every 30 s during the runs. +- `earlier-002f14ce/`: the same files for the earlier run. +- The server's tailnet address is replaced by `` in the JSON. diff --git a/benchmarks/server-2026-10-17/earlier-002f14ce/explore-equal-rate.json b/benchmarks/server-2026-10-17/earlier-002f14ce/explore-equal-rate.json new file mode 100644 index 0000000000..404f8d0322 --- /dev/null +++ b/benchmarks/server-2026-10-17/earlier-002f14ce/explore-equal-rate.json @@ -0,0 +1,341 @@ +{ + "kind": "horizon-server-benchmark", + "date": "2026-10-17T15:37:03+00:00", + "machine": { + "system": "Linux", + "machine": "x86_64", + "cpus": 4 + }, + "commit": "a9ee56a8b143999c9bc7056850ffcd622a9214aa", + "java": [ + "openjdk 25.0.4.1 2026-08-18" + ], + "settings": { + "servers": "horizon,vanilla", + "bots": "1,10,25,50", + "behaviour": "explore", + "join_every": 1.0, + "warmup": 60, + "seconds": 180, + "seed": 12345, + "explore_speed": 0.8, + "gamerule": "", + "heap": "4g", + "out": "/home/ludovic/code/horizon/.claude/worktrees/server-host-4/.local/bench-out/explore-equal-rate.json", + "nice": 19, + "bots_via": "ssh macmini", + "bots_bin": "/Users/ludovicmarie/code/horizon/.claude/worktrees/server-host-4/target/release/horizon-bots", + "connect": "", + "properties": { + "level-seed": "12345", + "view-distance": "10", + "simulation-distance": "10", + "online-mode": "false", + "white-list": "false", + "gamemode": "creative", + "force-gamemode": "true", + "spawn-protection": "0", + "max-players": "200", + "difficulty": "easy", + "sync-chunk-writes": "true" + } + }, + "runs": [ + { + "server": "horizon", + "bots": 1, + "behaviour": "explore", + "start_seconds": 9.21, + "mspt": { + "average": 4.78, + "p50": 4.59, + "p95": 7.3, + "p99": 13.53 + }, + "mspt_worst_p99": 36.5, + "tps": 20.0, + "rss_mb": { + "mean": 759.91, + "max": 771.3 + }, + "cpu_percent": 24.49, + "chunks_per_second": 1.64, + "unique_per_second": 1.27, + "forgotten_per_second": 1.54, + "waited_ticks_per_second": 0.0, + "chunks_total": 841, + "chunks_per_bot": { + "explore": 841.0 + }, + "unique_chunks_per_bot": { + "explore": 781.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 1, + "behaviour": "explore", + "start_seconds": 14.35, + "mspt": { + "average": 16.63, + "p50": 16.73, + "p95": 26.23, + "p99": 35.39 + }, + "mspt_worst_p99": 68.5, + "tps": 20.0, + "rss_mb": { + "mean": 3431.12, + "max": 3459.2 + }, + "cpu_percent": 69.76, + "chunks_per_second": 1.66, + "unique_per_second": 1.37, + "forgotten_per_second": 1.67, + "waited_ticks_per_second": 0.0, + "chunks_total": 840, + "chunks_per_bot": { + "explore": 840.0 + }, + "unique_chunks_per_bot": { + "explore": 780.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 10, + "behaviour": "explore", + "start_seconds": 9.31, + "mspt": { + "average": 15.19, + "p50": 14.45, + "p95": 25.66, + "p99": 38.89 + }, + "mspt_worst_p99": 57.6, + "tps": 20.0, + "rss_mb": { + "mean": 859.86, + "max": 920.2 + }, + "cpu_percent": 84.95, + "chunks_per_second": 14.22, + "unique_per_second": 12.7, + "forgotten_per_second": 14.11, + "waited_ticks_per_second": 0.0, + "chunks_total": 7962, + "chunks_per_bot": { + "explore": 796.2 + }, + "unique_chunks_per_bot": { + "explore": 768.2 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 10, + "behaviour": "explore", + "start_seconds": 14.74, + "mspt": { + "average": 24.65, + "p50": 21.82, + "p95": 40.81, + "p99": 70.23 + }, + "mspt_worst_p99": 119.1, + "tps": 20.0, + "rss_mb": { + "mean": 3528.77, + "max": 3643.2 + }, + "cpu_percent": 133.1, + "chunks_per_second": 13.62, + "unique_per_second": 12.32, + "forgotten_per_second": 13.62, + "waited_ticks_per_second": 0.0, + "chunks_total": 7746, + "chunks_per_bot": { + "explore": 774.6 + }, + "unique_chunks_per_bot": { + "explore": 748.7 + }, + "resent": 0, + "pulled_back": 1150, + "moved_too_quickly": 5, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 25, + "behaviour": "explore", + "start_seconds": 9.42, + "mspt": { + "average": 23.37, + "p50": 21.61, + "p95": 42.59, + "p99": 60.21 + }, + "mspt_worst_p99": 102.1, + "tps": 20.0, + "rss_mb": { + "mean": 889.21, + "max": 950.7 + }, + "cpu_percent": 117.59, + "chunks_per_second": 35.34, + "unique_per_second": 31.62, + "forgotten_per_second": 35.12, + "waited_ticks_per_second": 0.0, + "chunks_total": 20137, + "chunks_per_bot": { + "explore": 805.48 + }, + "unique_chunks_per_bot": { + "explore": 774.52 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 25, + "behaviour": "explore", + "start_seconds": 15.14, + "mspt": { + "average": 30.28, + "p50": 28.17, + "p95": 44.81, + "p99": 71.77 + }, + "mspt_worst_p99": 158.1, + "tps": 20.0, + "rss_mb": { + "mean": 3574.32, + "max": 3692.7 + }, + "cpu_percent": 173.43, + "chunks_per_second": 32.76, + "unique_per_second": 29.38, + "forgotten_per_second": 33.02, + "waited_ticks_per_second": 0.0, + "chunks_total": 19417, + "chunks_per_bot": { + "explore": 776.68 + }, + "unique_chunks_per_bot": { + "explore": 747.36 + }, + "resent": 0, + "pulled_back": 4728, + "moved_too_quickly": 15, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 50, + "behaviour": "explore", + "start_seconds": 9.11, + "mspt": { + "average": 30.59, + "p50": 25.19, + "p95": 67.94, + "p99": 90.77 + }, + "mspt_worst_p99": 122.1, + "tps": 20.0, + "rss_mb": { + "mean": 915.93, + "max": 978.0 + }, + "cpu_percent": 132.13, + "chunks_per_second": 71.31, + "unique_per_second": 63.56, + "forgotten_per_second": 71.19, + "waited_ticks_per_second": 0.0, + "chunks_total": 41365, + "chunks_per_bot": { + "explore": 827.3 + }, + "unique_chunks_per_bot": { + "explore": 793.14 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 50, + "behaviour": "explore", + "start_seconds": 15.35, + "mspt": { + "average": 43.52, + "p50": 41.69, + "p95": 56.18, + "p99": 84.55 + }, + "mspt_worst_p99": 155.1, + "tps": 20.0, + "rss_mb": { + "mean": 3801.29, + "max": 3920.7 + }, + "cpu_percent": 198.97, + "chunks_per_second": 65.86, + "unique_per_second": 58.63, + "forgotten_per_second": 66.12, + "waited_ticks_per_second": 0.0, + "chunks_total": 39790, + "chunks_per_bot": { + "explore": 795.8 + }, + "unique_chunks_per_bot": { + "explore": 764.48 + }, + "resent": 0, + "pulled_back": 8392, + "moved_too_quickly": 38, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + } + ] +} diff --git a/benchmarks/server-2026-10-17/earlier-002f14ce/load.txt b/benchmarks/server-2026-10-17/earlier-002f14ce/load.txt new file mode 100644 index 0000000000..8532528097 --- /dev/null +++ b/benchmarks/server-2026-10-17/earlier-002f14ce/load.txt @@ -0,0 +1,278 @@ +2026-10-17T13:17:13Z thinkpad: 2.76 2.26 2.04 | macmini (bots): { 73.08 70.73 75.98 } +2026-10-17T13:17:43Z thinkpad: 2.90 2.33 2.07 | macmini (bots): { 75.66 71.62 76.12 } +2026-10-17T13:18:13Z thinkpad: 3.02 2.43 2.11 | macmini (bots): { 65.77 69.61 75.24 } +2026-10-17T13:18:44Z thinkpad: 2.15 2.27 2.07 | macmini (bots): { 59.85 67.75 74.37 } +2026-10-17T13:19:14Z thinkpad: 1.45 2.09 2.02 | macmini (bots): { 63.86 67.87 74.17 } +2026-10-17T13:19:44Z thinkpad: 1.28 1.98 1.98 | macmini (bots): { 63.51 67.54 73.84 } +2026-10-17T13:20:14Z thinkpad: 1.14 1.89 1.95 | macmini (bots): { 65.82 67.85 73.71 } +2026-10-17T13:20:45Z thinkpad: 0.90 1.77 1.91 | macmini (bots): { 63.62 67.08 73.22 } +2026-10-17T13:21:15Z thinkpad: 0.55 1.60 1.85 | macmini (bots): { 62.45 66.37 72.75 } +2026-10-17T13:21:45Z thinkpad: 0.79 1.54 1.82 | macmini (bots): { 67.04 67.04 72.76 } +2026-10-17T13:22:15Z thinkpad: 1.96 1.75 1.88 | macmini (bots): { 65.53 66.60 72.40 } +2026-10-17T13:22:46Z thinkpad: 1.82 1.75 1.88 | macmini (bots): { 61.52 65.55 71.82 } +2026-10-17T13:23:16Z thinkpad: 1.29 1.63 1.83 | macmini (bots): { 62.36 65.36 71.53 } +2026-10-17T13:23:46Z thinkpad: 0.86 1.49 1.78 | macmini (bots): { 68.76 66.51 71.73 } +2026-10-17T13:24:16Z thinkpad: 1.29 1.52 1.78 | macmini (bots): { 77.68 68.77 72.36 } +2026-10-17T13:24:46Z thinkpad: 1.82 1.62 1.80 | macmini (bots): { 74.03 68.88 72.28 } +2026-10-17T13:25:17Z thinkpad: 1.50 1.56 1.78 | macmini (bots): { 71.53 68.76 72.12 } +2026-10-17T13:25:47Z thinkpad: 0.96 1.42 1.72 | macmini (bots): { 74.46 69.85 72.40 } +2026-10-17T13:26:17Z thinkpad: 0.87 1.35 1.69 | macmini (bots): { 80.85 71.79 73.01 } +2026-10-17T13:26:47Z thinkpad: 3.95 2.02 1.90 | macmini (bots): { 74.77 71.31 72.81 } +2026-10-17T13:27:18Z thinkpad: 2.98 1.97 1.89 | macmini (bots): { 70.52 70.52 72.46 } +2026-10-17T13:27:48Z thinkpad: 3.78 2.26 1.99 | macmini (bots): { 67.62 69.91 72.18 } +2026-10-17T13:28:18Z thinkpad: 3.05 2.23 1.99 | macmini (bots): { 72.51 70.83 72.43 } +2026-10-17T13:28:48Z thinkpad: 2.05 2.07 1.94 | macmini (bots): { 79.07 72.64 73.03 } +2026-10-17T13:29:19Z thinkpad: 2.09 2.11 1.96 | macmini (bots): { 90.42 75.94 74.21 } +2026-10-17T13:29:49Z thinkpad: 1.61 1.99 1.93 | macmini (bots): { 102.68 80.15 75.78 } +2026-10-17T13:30:19Z thinkpad: 2.31 2.12 1.97 | macmini (bots): { 111.15 84.19 77.39 } +2026-10-17T13:30:49Z thinkpad: 4.14 2.61 2.14 | macmini (bots): { 115.67 87.82 78.94 } +2026-10-17T13:31:20Z thinkpad: 4.84 2.92 2.26 | macmini (bots): { 122.95 92.31 80.88 } +2026-10-17T13:31:50Z thinkpad: 6.84 3.60 2.51 | macmini (bots): { 136.25 98.41 83.48 } +2026-10-17T13:32:20Z thinkpad: 4.85 3.43 2.49 | macmini (bots): { 128.59 100.39 84.73 } +2026-10-17T13:32:50Z thinkpad: 3.48 3.25 2.46 | macmini (bots): { 111.05 98.73 84.66 } +2026-10-17T13:33:20Z thinkpad: 3.09 3.15 2.45 | macmini (bots): { 102.40 98.03 84.98 } +2026-10-17T13:33:51Z thinkpad: 2.47 2.99 2.42 | macmini (bots): { 94.57 96.54 84.89 } +2026-10-17T13:34:21Z thinkpad: 2.42 2.94 2.42 | macmini (bots): { 86.26 94.36 84.50 } +2026-10-17T13:34:51Z thinkpad: 2.95 3.04 2.47 | macmini (bots): { 76.90 91.56 83.84 } +2026-10-17T13:35:21Z thinkpad: 2.66 2.96 2.46 | macmini (bots): { 65.57 87.42 82.61 } +2026-10-17T13:35:52Z thinkpad: 2.47 2.88 2.45 | macmini (bots): { 64.13 85.05 81.92 } +2026-10-17T13:36:22Z thinkpad: 3.89 3.17 2.56 | macmini (bots): { 58.65 81.74 80.83 } +2026-10-17T13:36:52Z thinkpad: 6.43 3.83 2.80 | macmini (bots): { 66.32 81.32 80.71 } +2026-10-17T13:37:22Z thinkpad: 8.73 4.60 3.09 | macmini (bots): { 67.30 80.14 80.30 } +2026-10-17T13:37:53Z thinkpad: 9.03 5.10 3.30 | macmini (bots): { 63.66 78.24 79.62 } +2026-10-17T13:38:23Z thinkpad: 9.49 5.57 3.52 | macmini (bots): { 61.25 76.23 78.84 } +2026-10-17T13:38:53Z thinkpad: 7.55 5.50 3.56 | macmini (bots): { 62.30 74.88 78.25 } +2026-10-17T13:39:23Z thinkpad: 8.62 5.99 3.79 | macmini (bots): { 57.34 72.56 77.29 } +2026-10-17T13:39:53Z thinkpad: 6.65 5.81 3.80 | macmini (bots): { 51.24 69.62 76.06 } +2026-10-17T13:40:24Z thinkpad: 5.55 5.62 3.80 | macmini (bots): { 48.87 67.26 74.98 } +2026-10-17T13:40:54Z thinkpad: 6.11 5.71 3.89 | macmini (bots): { 51.16 66.08 74.29 } +2026-10-17T13:41:24Z thinkpad: 8.93 6.43 4.19 | macmini (bots): { 48.67 64.00 73.24 } +2026-10-17T13:41:54Z thinkpad: 9.05 6.74 4.36 | macmini (bots): { 46.47 61.96 72.18 } +2026-10-17T13:42:25Z thinkpad: 7.70 6.65 4.41 | macmini (bots): { 44.24 60.05 71.14 } +2026-10-17T13:42:55Z thinkpad: 5.64 6.24 4.34 | macmini (bots): { 49.30 59.83 70.68 } +2026-10-17T13:43:25Z thinkpad: 4.83 6.02 4.33 | macmini (bots): { 47.39 58.24 69.72 } +2026-10-17T13:43:55Z thinkpad: 3.57 5.61 4.25 | macmini (bots): { 47.32 57.23 68.96 } +2026-10-17T13:44:25Z thinkpad: 3.41 5.40 4.23 | macmini (bots): { 47.86 56.49 68.28 } +2026-10-17T13:44:55Z thinkpad: 3.37 5.21 4.20 | macmini (bots): { 50.10 56.19 67.77 } +2026-10-17T13:45:26Z thinkpad: 3.78 5.16 4.22 | macmini (bots): { 51.91 55.98 67.28 } +2026-10-17T13:45:56Z thinkpad: 4.34 5.12 4.23 | macmini (bots): { 49.16 54.85 66.42 } +2026-10-17T13:46:26Z thinkpad: 10.04 6.46 4.71 | macmini (bots): { 45.01 53.33 65.47 } +2026-10-17T13:46:56Z thinkpad: 18.10 8.73 5.52 | macmini (bots): { 46.41 52.87 64.88 } +2026-10-17T13:47:27Z thinkpad: 14.99 8.91 5.68 | macmini (bots): { 51.12 53.21 64.57 } +2026-10-17T13:47:57Z thinkpad: 13.46 9.27 5.92 | macmini (bots): { 53.84 53.81 64.40 } +2026-10-17T13:48:27Z thinkpad: 12.76 9.41 6.07 | macmini (bots): { 51.94 53.27 63.84 } +2026-10-17T13:48:58Z thinkpad: 10.20 9.11 6.08 | macmini (bots): { 50.70 52.83 63.31 } +2026-10-17T13:49:28Z thinkpad: 9.95 9.25 6.23 | macmini (bots): { 51.51 52.89 62.97 } +2026-10-17T13:49:58Z thinkpad: 11.98 9.87 6.53 | macmini (bots): { 50.98 52.73 62.57 } +2026-10-17T13:50:29Z thinkpad: 14.96 10.76 6.94 | macmini (bots): { 49.68 52.31 62.08 } +2026-10-17T13:50:59Z thinkpad: 10.54 10.09 6.83 | macmini (bots): { 53.34 53.01 62.00 } +2026-10-17T13:51:29Z thinkpad: 10.21 10.01 6.91 | macmini (bots): { 51.61 52.69 61.57 } +2026-10-17T13:52:00Z thinkpad: 11.86 10.42 7.14 | macmini (bots): { 48.94 51.89 60.97 } +2026-10-17T13:52:30Z thinkpad: 10.88 10.33 7.22 | macmini (bots): { 48.46 51.44 60.49 } +2026-10-17T13:53:01Z thinkpad: 10.94 10.41 7.35 | macmini (bots): { 54.27 52.41 60.47 } +2026-10-17T13:53:31Z thinkpad: 10.77 10.42 7.45 | macmini (bots): { 57.13 53.30 60.51 } +2026-10-17T13:54:02Z thinkpad: 10.62 10.40 7.53 | macmini (bots): { 53.78 52.84 60.09 } +2026-10-17T13:54:32Z thinkpad: 10.85 10.48 7.66 | macmini (bots): { 52.01 52.51 59.73 } +2026-10-17T13:55:02Z thinkpad: 10.36 10.39 7.73 | macmini (bots): { 53.44 52.83 59.59 } +2026-10-17T13:55:32Z thinkpad: 8.58 9.95 7.67 | macmini (bots): { 58.66 54.12 59.82 } +2026-10-17T13:56:03Z thinkpad: 7.29 9.52 7.60 | macmini (bots): { 60.98 55.05 59.96 } +2026-10-17T13:56:33Z thinkpad: 5.02 8.75 7.40 | macmini (bots): { 65.14 56.71 60.39 } +2026-10-17T13:57:03Z thinkpad: 5.03 8.38 7.32 | macmini (bots): { 57.51 55.73 59.91 } +2026-10-17T13:57:34Z thinkpad: 7.39 8.66 7.45 | macmini (bots): { 52.57 54.73 59.41 } +2026-10-17T13:58:04Z thinkpad: 10.56 9.45 7.76 | macmini (bots): { 53.11 54.60 59.20 } +2026-10-17T13:58:34Z thinkpad: 28.87 14.20 9.41 | macmini (bots): { 54.53 54.93 59.16 } +2026-10-17T13:59:05Z thinkpad: 39.33 17.79 10.73 | macmini (bots): { 62.67 56.86 59.71 } +2026-10-17T13:59:35Z thinkpad: 34.07 18.33 11.12 | macmini (bots): { 61.78 57.22 59.75 } +2026-10-17T14:00:06Z thinkpad: 34.42 19.72 11.80 | macmini (bots): { 53.10 55.55 59.03 } +2026-10-17T14:00:36Z thinkpad: 33.60 20.94 12.46 | macmini (bots): { 48.70 54.23 58.43 } +2026-10-17T14:01:07Z thinkpad: 29.29 20.99 12.74 | macmini (bots): { 50.25 54.00 58.20 } +2026-10-17T14:01:37Z thinkpad: 20.83 19.79 12.61 | macmini (bots): { 50.48 53.74 57.96 } +2026-10-17T14:02:08Z thinkpad: 21.74 20.44 13.11 | macmini (bots): { 48.65 53.04 57.56 } +2026-10-17T14:02:38Z thinkpad: 17.68 19.67 13.09 | macmini (bots): { 54.17 53.85 57.69 } +2026-10-17T14:03:08Z thinkpad: 13.97 18.55 12.93 | macmini (bots): { 53.39 53.84 57.56 } +2026-10-17T14:03:39Z thinkpad: 14.10 18.17 12.98 | macmini (bots): { 50.71 53.09 57.16 } +2026-10-17T14:04:09Z thinkpad: 13.60 17.65 12.97 | macmini (bots): { 52.30 53.28 57.08 } +2026-10-17T14:04:39Z thinkpad: 12.09 16.91 12.88 | macmini (bots): { 51.52 53.03 56.87 } +2026-10-17T14:05:10Z thinkpad: 10.15 15.98 12.69 | macmini (bots): { 54.53 53.57 56.91 } +2026-10-17T14:05:42Z thinkpad: 7.77 14.86 12.42 | macmini (bots): { 63.58 55.55 57.49 } +2026-10-17T14:06:12Z thinkpad: 6.58 13.89 12.18 | macmini (bots): { 75.29 59.41 58.84 } +2026-10-17T14:06:42Z thinkpad: 5.96 13.02 11.94 | macmini (bots): { 78.06 61.64 59.67 } +2026-10-17T14:07:12Z thinkpad: 4.86 12.08 11.66 | macmini (bots): { 72.26 61.85 59.81 } +2026-10-17T14:07:42Z thinkpad: 4.49 11.18 11.38 | macmini (bots): { 67.84 61.73 59.84 } +2026-10-17T14:08:13Z thinkpad: 4.37 10.51 11.15 | macmini (bots): { 64.25 61.45 59.80 } +2026-10-17T14:08:43Z thinkpad: 4.57 9.97 10.94 | macmini (bots): { 57.86 60.14 59.38 } +2026-10-17T14:09:13Z thinkpad: 4.60 9.46 10.74 | macmini (bots): { 60.21 60.39 59.49 } +2026-10-17T14:09:43Z thinkpad: 4.20 8.89 10.51 | macmini (bots): { 57.11 59.57 59.22 } +2026-10-17T14:10:14Z thinkpad: 3.80 8.36 10.28 | macmini (bots): { 66.05 61.48 59.92 } +2026-10-17T14:10:44Z thinkpad: 4.19 8.00 10.10 | macmini (bots): { 78.51 64.91 61.22 } +2026-10-17T14:11:14Z thinkpad: 4.27 7.65 9.92 | macmini (bots): { 74.15 65.33 61.51 } +2026-10-17T14:11:44Z thinkpad: 4.35 7.35 9.74 | macmini (bots): { 62.47 63.48 60.98 } +2026-10-17T14:12:14Z thinkpad: 4.98 7.22 9.62 | macmini (bots): { 56.73 61.86 60.46 } +2026-10-17T14:12:45Z thinkpad: 4.60 6.91 9.44 | macmini (bots): { 57.78 61.49 60.37 } +2026-10-17T14:13:15Z thinkpad: 4.15 6.57 9.25 | macmini (bots): { 56.21 60.71 60.12 } +2026-10-17T14:13:45Z thinkpad: 3.87 6.25 9.05 | macmini (bots): { 54.75 60.00 59.89 } +2026-10-17T14:14:15Z thinkpad: 3.86 6.02 8.89 | macmini (bots): { 52.21 58.88 59.49 } +2026-10-17T14:14:46Z thinkpad: 3.14 5.64 8.67 | macmini (bots): { 58.81 59.59 59.71 } +2026-10-17T14:15:16Z thinkpad: 3.76 5.54 8.54 | macmini (bots): { 64.13 60.86 60.16 } +2026-10-17T14:15:46Z thinkpad: 3.91 5.41 8.40 | macmini (bots): { 59.02 59.97 59.87 } +2026-10-17T14:16:16Z thinkpad: 4.33 5.35 8.28 | macmini (bots): { 64.48 60.97 60.22 } +2026-10-17T14:16:46Z thinkpad: 5.20 5.44 8.21 | macmini (bots): { 79.56 64.98 61.70 } +2026-10-17T14:17:17Z thinkpad: 4.88 5.36 8.10 | macmini (bots): { 94.21 69.99 63.63 } +2026-10-17T14:17:47Z thinkpad: 4.80 5.30 8.00 | macmini (bots): { 85.75 70.51 64.08 } +2026-10-17T14:18:17Z thinkpad: 4.82 5.25 7.89 | macmini (bots): { 82.33 71.25 64.57 } +2026-10-17T14:18:48Z thinkpad: 4.50 5.12 7.75 | macmini (bots): { 77.67 71.11 64.75 } +2026-10-17T14:19:18Z thinkpad: 3.76 4.88 7.58 | macmini (bots): { 77.29 71.67 65.17 } +2026-10-17T14:19:48Z thinkpad: 3.68 4.75 7.45 | macmini (bots): { 71.16 70.71 65.05 } +2026-10-17T14:20:18Z thinkpad: 4.25 4.82 7.39 | macmini (bots): { 66.97 69.63 64.85 } +2026-10-17T14:20:49Z thinkpad: 4.72 4.89 7.33 | macmini (bots): { 59.23 67.50 64.24 } +2026-10-17T14:21:19Z thinkpad: 5.12 4.98 7.28 | macmini (bots): { 52.38 65.10 63.48 } +2026-10-17T14:21:49Z thinkpad: 5.69 5.13 7.26 | macmini (bots): { 59.43 65.53 63.69 } +2026-10-17T14:22:19Z thinkpad: 5.78 5.19 7.21 | macmini (bots): { 62.28 65.65 63.80 } +2026-10-17T14:22:50Z thinkpad: 5.34 5.14 7.13 | macmini (bots): { 57.40 64.12 63.30 } +2026-10-17T14:23:20Z thinkpad: 4.89 5.04 7.03 | macmini (bots): { 58.39 63.61 63.14 } +2026-10-17T14:23:50Z thinkpad: 5.00 5.07 6.98 | macmini (bots): { 64.88 64.63 63.52 } +2026-10-17T14:24:20Z thinkpad: 3.88 4.80 6.83 | macmini (bots): { 80.70 68.30 64.88 } +2026-10-17T14:24:51Z thinkpad: 2.90 4.47 6.65 | macmini (bots): { 94.09 72.75 66.61 } +2026-10-17T14:25:21Z thinkpad: 2.63 4.25 6.51 | macmini (bots): { 93.13 74.91 67.63 } +2026-10-17T14:25:51Z thinkpad: 6.66 5.07 6.71 | macmini (bots): { 72.87 71.72 66.72 } +2026-10-17T14:26:21Z thinkpad: 7.15 5.34 6.74 | macmini (bots): { 67.03 70.37 66.40 } +2026-10-17T14:26:51Z thinkpad: 6.20 5.29 6.68 | macmini (bots): { 58.68 68.08 65.71 } +2026-10-17T14:27:22Z thinkpad: 6.11 5.35 6.66 | macmini (bots): { 55.26 66.28 65.14 } +2026-10-17T14:27:52Z thinkpad: 5.45 5.26 6.59 | macmini (bots): { 56.51 65.74 64.99 } +2026-10-17T14:28:22Z thinkpad: 6.11 5.45 6.61 | macmini (bots): { 52.24 63.77 64.30 } +2026-10-17T14:28:52Z thinkpad: 6.06 5.50 6.59 | macmini (bots): { 55.56 63.38 64.13 } +2026-10-17T14:29:23Z thinkpad: 6.11 5.58 6.58 | macmini (bots): { 59.66 63.63 64.20 } +2026-10-17T14:29:53Z thinkpad: 5.52 5.54 6.53 | macmini (bots): { 63.71 64.30 64.42 } +2026-10-17T14:30:23Z thinkpad: 4.79 5.35 6.43 | macmini (bots): { 69.84 65.61 64.89 } +2026-10-17T14:30:53Z thinkpad: 6.21 5.63 6.49 | macmini (bots): { 62.76 64.46 64.50 } +2026-10-17T14:31:23Z thinkpad: 8.36 6.21 6.66 | macmini (bots): { 53.51 62.09 63.64 } +2026-10-17T14:31:54Z thinkpad: 8.49 6.45 6.72 | macmini (bots): { 52.80 60.98 63.18 } +2026-10-17T14:32:24Z thinkpad: 8.28 6.59 6.77 | macmini (bots): { 48.98 59.20 62.45 } +2026-10-17T14:32:54Z thinkpad: 8.02 6.70 6.79 | macmini (bots): { 48.95 58.30 62.02 } +2026-10-17T14:33:25Z thinkpad: 7.02 6.59 6.76 | macmini (bots): { 51.06 57.70 61.66 } +2026-10-17T14:33:55Z thinkpad: 7.09 6.62 6.76 | macmini (bots): { 70.89 61.81 63.00 } +2026-10-17T14:34:25Z thinkpad: 6.18 6.44 6.69 | macmini (bots): { 69.38 62.46 63.21 } +2026-10-17T14:34:55Z thinkpad: 6.67 6.52 6.72 | macmini (bots): { 76.87 64.84 64.04 } +2026-10-17T14:35:25Z thinkpad: 4.76 6.08 6.56 | macmini (bots): { 86.19 68.04 65.21 } +2026-10-17T14:35:56Z thinkpad: 3.47 5.64 6.40 | macmini (bots): { 101.03 73.28 67.21 } +2026-10-17T14:36:26Z thinkpad: 2.68 5.24 6.24 | macmini (bots): { 106.05 77.09 68.79 } +2026-10-17T14:36:56Z thinkpad: 2.41 4.91 6.10 | macmini (bots): { 107.57 80.20 70.20 } +2026-10-17T14:37:26Z thinkpad: 3.74 4.99 6.08 | macmini (bots): { 101.16 81.38 70.98 } +2026-10-17T14:37:57Z thinkpad: 5.96 5.39 6.18 | macmini (bots): { 86.51 79.61 70.70 } +2026-10-17T14:38:27Z thinkpad: 7.91 5.98 6.35 | macmini (bots): { 81.13 79.06 70.81 } +2026-10-17T14:38:57Z thinkpad: 8.45 6.25 6.43 | macmini (bots): { 79.56 79.01 71.08 } +2026-10-17T14:39:27Z thinkpad: 8.75 6.52 6.52 | macmini (bots): { 71.92 77.22 70.71 } +2026-10-17T14:39:58Z thinkpad: 8.86 6.76 6.60 | macmini (bots): { 71.38 76.58 70.70 } +2026-10-17T14:40:28Z thinkpad: 8.74 6.98 6.68 | macmini (bots): { 71.25 76.12 70.74 } +2026-10-17T14:40:58Z thinkpad: 7.99 6.96 6.68 | macmini (bots): { 70.49 75.51 70.71 } +2026-10-17T14:41:28Z thinkpad: 7.64 7.01 6.70 | macmini (bots): { 68.93 74.58 70.56 } +2026-10-17T14:41:59Z thinkpad: 6.57 6.84 6.66 | macmini (bots): { 68.35 73.75 70.39 } +2026-10-17T14:42:29Z thinkpad: 5.83 6.62 6.59 | macmini (bots): { 63.57 72.20 69.95 } +2026-10-17T14:42:59Z thinkpad: 7.40 6.91 6.69 | macmini (bots): { 56.77 69.69 69.12 } +2026-10-17T14:43:29Z thinkpad: 9.07 7.37 6.85 | macmini (bots): { 49.53 66.71 68.06 } +2026-10-17T14:44:00Z thinkpad: 9.39 7.63 6.96 | macmini (bots): { 43.53 63.68 66.91 } +2026-10-17T14:44:30Z thinkpad: 9.16 7.73 7.01 | macmini (bots): { 41.12 61.23 65.92 } +2026-10-17T14:45:00Z thinkpad: 7.96 7.57 6.98 | macmini (bots): { 40.62 59.23 65.03 } +2026-10-17T14:45:30Z thinkpad: 6.34 7.24 6.89 | macmini (bots): { 38.17 56.80 63.94 } +2026-10-17T14:46:01Z thinkpad: 6.39 7.18 6.88 | macmini (bots): { 40.35 55.54 63.24 } +2026-10-17T14:46:31Z thinkpad: 5.63 6.95 6.82 | macmini (bots): { 48.66 56.25 63.24 } +2026-10-17T14:47:01Z thinkpad: 4.73 6.60 6.70 | macmini (bots): { 46.68 55.20 62.62 } +2026-10-17T14:47:31Z thinkpad: 9.18 7.55 7.02 | macmini (bots): { 41.45 53.19 61.64 } +2026-10-17T14:48:01Z thinkpad: 10.40 8.02 7.19 | macmini (bots): { 40.76 51.87 60.87 } +2026-10-17T14:48:32Z thinkpad: 8.24 7.73 7.12 | macmini (bots): { 44.46 51.67 60.48 } +2026-10-17T14:49:02Z thinkpad: 9.60 8.09 7.26 | macmini (bots): { 38.75 49.66 59.45 } +2026-10-17T14:49:32Z thinkpad: 8.90 8.10 7.29 | macmini (bots): { 34.93 47.72 58.41 } +2026-10-17T14:50:02Z thinkpad: 11.17 8.66 7.50 | macmini (bots): { 35.70 46.68 57.66 } +2026-10-17T14:50:33Z thinkpad: 12.06 9.19 7.72 | macmini (bots): { 43.94 47.43 57.54 } +2026-10-17T14:51:03Z thinkpad: 12.50 9.49 7.87 | macmini (bots): { 40.76 46.36 56.80 } +2026-10-17T14:51:33Z thinkpad: 10.35 9.24 7.83 | macmini (bots): { 44.81 46.69 56.55 } +2026-10-17T14:52:03Z thinkpad: 9.32 9.09 7.83 | macmini (bots): { 54.94 48.97 57.04 } +2026-10-17T14:52:34Z thinkpad: 7.07 8.58 7.70 | macmini (bots): { 54.59 49.54 56.92 } +2026-10-17T14:53:04Z thinkpad: 5.33 8.01 7.54 | macmini (bots): { 67.48 53.27 58.02 } +2026-10-17T14:53:34Z thinkpad: 7.22 8.20 7.62 | macmini (bots): { 57.82 52.33 57.52 } +2026-10-17T14:54:04Z thinkpad: 9.69 8.73 7.81 | macmini (bots): { 46.67 50.20 56.57 } +2026-10-17T14:54:35Z thinkpad: 9.14 8.66 7.82 | macmini (bots): { 49.88 50.61 56.49 } +2026-10-17T14:55:05Z thinkpad: 9.75 8.87 7.91 | macmini (bots): { 46.88 49.95 56.06 } +2026-10-17T14:55:35Z thinkpad: 8.51 8.67 7.88 | macmini (bots): { 42.90 48.80 55.43 } +2026-10-17T14:56:06Z thinkpad: 8.46 8.62 7.89 | macmini (bots): { 49.23 49.72 55.53 } +2026-10-17T14:56:36Z thinkpad: 6.19 8.07 7.73 | macmini (bots): { 54.41 50.86 55.74 } +2026-10-17T14:57:06Z thinkpad: 4.69 7.53 7.56 | macmini (bots): { 60.26 52.69 56.24 } +2026-10-17T14:57:36Z thinkpad: 3.21 6.90 7.35 | macmini (bots): { 67.66 55.21 57.03 } +2026-10-17T14:58:06Z thinkpad: 1.94 6.24 7.11 | macmini (bots): { 75.73 58.41 58.13 } +2026-10-17T14:58:37Z thinkpad: 1.18 5.64 6.89 | macmini (bots): { 74.69 59.90 58.68 } +2026-10-17T14:59:07Z thinkpad: 0.78 5.12 6.67 | macmini (bots): { 77.10 61.82 59.42 } +2026-10-17T14:59:37Z thinkpad: 0.88 4.72 6.49 | macmini (bots): { 87.05 65.59 60.86 } +2026-10-17T15:00:07Z thinkpad: 0.53 4.27 6.28 | macmini (bots): { 78.18 65.51 60.99 } +2026-10-17T15:00:38Z thinkpad: 0.38 3.88 6.09 | macmini (bots): { 79.38 67.00 61.69 } +2026-10-17T15:01:08Z thinkpad: 1.50 3.80 5.99 | macmini (bots): { 78.36 67.86 62.18 } +2026-10-17T15:01:38Z thinkpad: 2.97 3.93 5.95 | macmini (bots): { 74.18 67.90 62.39 } +2026-10-17T15:02:08Z thinkpad: 2.61 3.77 5.83 | macmini (bots): { 68.63 67.00 62.25 } +2026-10-17T15:02:39Z thinkpad: 2.10 3.55 5.69 | macmini (bots): { 69.84 67.50 62.60 } +2026-10-17T15:03:09Z thinkpad: 1.44 3.25 5.53 | macmini (bots): { 67.10 67.06 62.61 } +2026-10-17T15:03:39Z thinkpad: 1.39 3.08 5.40 | macmini (bots): { 60.83 65.50 62.19 } +2026-10-17T15:04:09Z thinkpad: 1.28 2.88 5.26 | macmini (bots): { 75.40 68.61 63.46 } +2026-10-17T15:04:40Z thinkpad: 2.30 2.99 5.22 | macmini (bots): { 106.08 76.54 66.50 } +2026-10-17T15:05:10Z thinkpad: 2.65 3.02 5.15 | macmini (bots): { 111.96 81.09 68.52 } +2026-10-17T15:05:40Z thinkpad: 2.41 2.92 5.05 | macmini (bots): { 104.19 82.08 69.31 } +2026-10-17T15:06:10Z thinkpad: 2.71 2.95 4.99 | macmini (bots): { 116.20 87.04 71.54 } +2026-10-17T15:06:40Z thinkpad: 2.51 2.87 4.90 | macmini (bots): { 136.68 94.24 74.66 } +2026-10-17T15:07:11Z thinkpad: 3.68 3.11 4.91 | macmini (bots): { 132.76 97.43 76.50 } +2026-10-17T15:07:41Z thinkpad: 3.77 3.19 4.88 | macmini (bots): { 132.73 100.97 78.51 } +2026-10-17T15:08:11Z thinkpad: 3.00 3.06 4.79 | macmini (bots): { 116.92 100.33 79.07 } +2026-10-17T15:08:41Z thinkpad: 2.40 2.91 4.68 | macmini (bots): { 109.83 100.07 79.70 } +2026-10-17T15:09:12Z thinkpad: 2.18 2.81 4.59 | macmini (bots): { 113.21 101.71 81.00 } +2026-10-17T15:09:42Z thinkpad: 1.67 2.62 4.47 | macmini (bots): { 131.87 107.11 83.66 } +2026-10-17T15:10:12Z thinkpad: 1.90 2.58 4.39 | macmini (bots): { 133.45 109.92 85.49 } +2026-10-17T15:10:42Z thinkpad: 4.00 3.02 4.48 | macmini (bots): { 130.14 111.67 86.99 } +2026-10-17T15:11:13Z thinkpad: 4.77 3.32 4.54 | macmini (bots): { 118.78 110.28 87.32 } +2026-10-17T15:11:43Z thinkpad: 3.86 3.24 4.47 | macmini (bots): { 124.01 112.36 88.87 } +2026-10-17T15:12:13Z thinkpad: 3.61 3.26 4.44 | macmini (bots): { 122.21 112.94 89.88 } +2026-10-17T15:12:43Z thinkpad: 3.12 3.17 4.36 | macmini (bots): { 111.62 111.10 90.00 } +2026-10-17T15:13:14Z thinkpad: 3.07 3.14 4.31 | macmini (bots): { 122.97 113.95 91.77 } +2026-10-17T15:13:44Z thinkpad: 3.33 3.20 4.30 | macmini (bots): { 102.64 109.89 91.07 } +2026-10-17T15:14:14Z thinkpad: 2.85 3.10 4.23 | macmini (bots): { 94.46 107.15 90.72 } +2026-10-17T15:14:44Z thinkpad: 2.66 3.03 4.17 | macmini (bots): { 94.94 106.07 90.90 } +2026-10-17T15:15:14Z thinkpad: 2.54 2.96 4.11 | macmini (bots): { 94.52 104.93 91.01 } +2026-10-17T15:15:45Z thinkpad: 3.20 3.08 4.11 | macmini (bots): { 84.00 101.47 90.25 } +2026-10-17T15:16:15Z thinkpad: 5.56 3.61 4.25 | macmini (bots): { 83.16 99.76 90.02 } +2026-10-17T15:16:45Z thinkpad: 5.66 3.84 4.30 | macmini (bots): { 69.71 94.66 88.56 } +2026-10-17T15:17:15Z thinkpad: 5.04 3.90 4.31 | macmini (bots): { 59.31 89.78 87.00 } +2026-10-17T15:17:46Z thinkpad: 4.29 3.87 4.29 | macmini (bots): { 58.57 86.47 85.89 } +2026-10-17T15:18:16Z thinkpad: 4.16 3.91 4.29 | macmini (bots): { 56.43 83.29 84.75 } +2026-10-17T15:18:46Z thinkpad: 2.80 3.60 4.18 | macmini (bots): { 50.60 79.22 83.22 } +2026-10-17T15:19:16Z thinkpad: 1.85 3.28 4.05 | macmini (bots): { 54.97 77.50 82.46 } +2026-10-17T15:19:47Z thinkpad: 1.82 3.14 3.98 | macmini (bots): { 56.82 75.80 81.67 } +2026-10-17T15:20:17Z thinkpad: 2.19 3.10 3.94 | macmini (bots): { 59.30 74.46 80.97 } +2026-10-17T15:20:47Z thinkpad: 4.44 3.54 4.06 | macmini (bots): { 55.22 72.11 79.90 } +2026-10-17T15:21:17Z thinkpad: 5.99 4.03 4.21 | macmini (bots): { 49.41 69.01 78.50 } +2026-10-17T15:21:48Z thinkpad: 4.85 3.95 4.18 | macmini (bots): { 46.89 66.58 77.29 } +2026-10-17T15:22:18Z thinkpad: 4.31 3.92 4.16 | macmini (bots): { 45.13 64.31 76.10 } +2026-10-17T15:22:48Z thinkpad: 4.28 3.95 4.16 | macmini (bots): { 51.82 63.98 75.56 } +2026-10-17T15:23:18Z thinkpad: 4.75 4.11 4.21 | macmini (bots): { 50.35 62.51 74.63 } +2026-10-17T15:23:48Z thinkpad: 4.08 4.02 4.17 | macmini (bots): { 44.62 60.01 73.31 } +2026-10-17T15:24:19Z thinkpad: 3.93 4.00 4.16 | macmini (bots): { 46.02 58.72 72.37 } +2026-10-17T15:24:49Z thinkpad: 3.67 3.92 4.13 | macmini (bots): { 47.23 57.90 71.60 } +2026-10-17T15:25:19Z thinkpad: 2.79 3.68 4.04 | macmini (bots): { 50.80 57.78 71.09 } +2026-10-17T15:25:49Z thinkpad: 2.79 3.58 3.99 | macmini (bots): { 47.66 56.35 70.11 } +2026-10-17T15:26:19Z thinkpad: 5.04 3.97 4.11 | macmini (bots): { 45.15 54.84 69.08 } +2026-10-17T15:26:50Z thinkpad: 8.46 4.86 4.40 | macmini (bots): { 43.59 53.51 68.10 } +2026-10-17T15:27:20Z thinkpad: 6.84 4.81 4.39 | macmini (bots): { 42.38 52.39 67.19 } +2026-10-17T15:27:50Z thinkpad: 8.24 5.33 4.58 | macmini (bots): { 49.87 53.02 66.82 } +2026-10-17T15:28:21Z thinkpad: 7.11 5.34 4.61 | macmini (bots): { 61.30 55.60 67.28 } +2026-10-17T15:28:51Z thinkpad: 6.11 5.27 4.61 | macmini (bots): { 67.60 57.74 67.66 } +2026-10-17T15:29:21Z thinkpad: 5.33 5.17 4.59 | macmini (bots): { 63.72 57.79 67.33 } +2026-10-17T15:29:51Z thinkpad: 3.57 4.75 4.47 | macmini (bots): { 60.80 57.62 66.94 } +2026-10-17T15:30:22Z thinkpad: 4.74 4.88 4.52 | macmini (bots): { 59.69 57.64 66.62 } +2026-10-17T15:30:52Z thinkpad: 3.44 4.54 4.42 | macmini (bots): { 66.89 59.49 66.97 } +2026-10-17T15:31:22Z thinkpad: 4.57 4.69 4.47 | macmini (bots): { 83.43 64.16 68.40 } +2026-10-17T15:31:52Z thinkpad: 7.17 5.30 4.68 | macmini (bots): { 77.62 64.77 68.49 } +2026-10-17T15:32:23Z thinkpad: 8.55 5.82 4.88 | macmini (bots): { 74.20 65.09 68.47 } +2026-10-17T15:32:53Z thinkpad: 7.49 5.85 4.92 | macmini (bots): { 82.07 67.70 69.29 } +2026-10-17T15:33:23Z thinkpad: 5.65 5.59 4.86 | macmini (bots): { 79.44 68.47 69.51 } +2026-10-17T15:33:54Z thinkpad: 5.73 5.64 4.91 | macmini (bots): { 78.94 69.26 69.76 } +2026-10-17T15:34:24Z thinkpad: 6.84 5.92 5.02 | macmini (bots): { 76.33 69.71 69.91 } +2026-10-17T15:34:54Z thinkpad: 5.11 5.59 4.94 | macmini (bots): { 86.09 72.63 70.95 } +2026-10-17T15:35:24Z thinkpad: 6.68 5.93 5.08 | macmini (bots): { 72.77 70.70 70.31 } +2026-10-17T15:35:55Z thinkpad: 5.75 5.75 5.04 | macmini (bots): { 71.50 70.49 70.24 } +2026-10-17T15:36:25Z thinkpad: 4.31 5.41 4.95 | macmini (bots): { 80.75 72.67 71.03 } +2026-10-17T15:36:55Z thinkpad: 3.15 5.02 4.83 | macmini (bots): { 89.83 75.59 72.14 } diff --git a/benchmarks/server-2026-10-17/earlier-002f14ce/walk-explore.json b/benchmarks/server-2026-10-17/earlier-002f14ce/walk-explore.json new file mode 100644 index 0000000000..39dcd268cb --- /dev/null +++ b/benchmarks/server-2026-10-17/earlier-002f14ce/walk-explore.json @@ -0,0 +1,695 @@ +{ + "kind": "horizon-server-benchmark", + "date": "2026-10-17T14:56:24+00:00", + "machine": { + "system": "Linux", + "machine": "x86_64", + "cpus": 4 + }, + "commit": "a9ee56a8b143999c9bc7056850ffcd622a9214aa", + "java": [ + "openjdk 25.0.4.1 2026-08-18" + ], + "settings": { + "servers": "horizon,vanilla", + "bots": "1,10,25,50,100", + "behaviour": "walk,explore", + "join_every": 1.0, + "warmup": 60, + "seconds": 180, + "seed": 12345, + "explore_speed": 0, + "gamerule": "", + "heap": "4g", + "out": "/home/ludovic/code/horizon/.claude/worktrees/server-host-4/.local/bench-out/walk-explore.json", + "nice": 19, + "bots_via": "ssh macmini", + "bots_bin": "/Users/ludovicmarie/code/horizon/.claude/worktrees/server-host-4/target/release/horizon-bots", + "connect": "", + "properties": { + "level-seed": "12345", + "view-distance": "10", + "simulation-distance": "10", + "online-mode": "false", + "white-list": "false", + "gamemode": "creative", + "force-gamemode": "true", + "spawn-protection": "0", + "max-players": "200", + "difficulty": "easy", + "sync-chunk-writes": "true" + } + }, + "runs": [ + { + "server": "horizon", + "bots": 1, + "behaviour": "walk", + "start_seconds": 9.51, + "mspt": { + "average": 5.77, + "p50": 5.15, + "p95": 11.04, + "p99": 28.99 + }, + "mspt_worst_p99": 45.9, + "tps": 20.0, + "rss_mb": { + "mean": 777.78, + "max": 779.8 + }, + "cpu_percent": 59.02, + "chunks_per_second": 9.94, + "unique_per_second": 0.45, + "forgotten_per_second": 9.99, + "waited_ticks_per_second": 0.0, + "chunks_total": 2763, + "chunks_per_bot": { + "walk": 2763.0 + }, + "unique_chunks_per_bot": { + "walk": 697.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 1, + "behaviour": "walk", + "start_seconds": 15.35, + "mspt": { + "average": 18.84, + "p50": 18.87, + "p95": 29.55, + "p99": 51.32 + }, + "mspt_worst_p99": 456.4, + "tps": 20.0, + "rss_mb": { + "mean": 3442.06, + "max": 3462.1 + }, + "cpu_percent": 70.63, + "chunks_per_second": 10.47, + "unique_per_second": 0.47, + "forgotten_per_second": 10.53, + "waited_ticks_per_second": 0.0, + "chunks_total": 2763, + "chunks_per_bot": { + "walk": 2763.0 + }, + "unique_chunks_per_bot": { + "walk": 697.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 10, + "behaviour": "walk", + "start_seconds": 9.31, + "mspt": { + "average": 16.23, + "p50": 15.6, + "p95": 29.32, + "p99": 44.43 + }, + "mspt_worst_p99": 100.6, + "tps": 20.0, + "rss_mb": { + "mean": 781.84, + "max": 782.6 + }, + "cpu_percent": 136.59, + "chunks_per_second": 93.82, + "unique_per_second": 3.33, + "forgotten_per_second": 93.61, + "waited_ticks_per_second": 0.0, + "chunks_total": 26481, + "chunks_per_bot": { + "walk": 2648.1 + }, + "unique_chunks_per_bot": { + "walk": 679.5 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 10, + "behaviour": "walk", + "start_seconds": 14.65, + "mspt": { + "average": 18.02, + "p50": 15.22, + "p95": 37.62, + "p99": 54.5 + }, + "mspt_worst_p99": 73.8, + "tps": 20.0, + "rss_mb": { + "mean": 3408.62, + "max": 3423.6 + }, + "cpu_percent": 100.57, + "chunks_per_second": 101.12, + "unique_per_second": 4.25, + "forgotten_per_second": 101.17, + "waited_ticks_per_second": 0.0, + "chunks_total": 26763, + "chunks_per_bot": { + "walk": 2676.3 + }, + "unique_chunks_per_bot": { + "walk": 687.8 + }, + "resent": 0, + "pulled_back": 7, + "moved_too_quickly": 7, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 25, + "behaviour": "walk", + "start_seconds": 9.31, + "mspt": { + "average": 23.98, + "p50": 20.89, + "p95": 49.18, + "p99": 65.87 + }, + "mspt_worst_p99": 109.8, + "tps": 20.0, + "rss_mb": { + "mean": 786.18, + "max": 786.5 + }, + "cpu_percent": 159.81, + "chunks_per_second": 235.75, + "unique_per_second": 7.84, + "forgotten_per_second": 235.72, + "waited_ticks_per_second": 0.0, + "chunks_total": 67251, + "chunks_per_bot": { + "walk": 2690.04 + }, + "unique_chunks_per_bot": { + "walk": 683.92 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 25, + "behaviour": "walk", + "start_seconds": 14.95, + "mspt": { + "average": 19.19, + "p50": 17.34, + "p95": 33.84, + "p99": 56.21 + }, + "mspt_worst_p99": 79.2, + "tps": 20.0, + "rss_mb": { + "mean": 3531.46, + "max": 3582.1 + }, + "cpu_percent": 153.78, + "chunks_per_second": 252.35, + "unique_per_second": 11.73, + "forgotten_per_second": 251.58, + "waited_ticks_per_second": 0.0, + "chunks_total": 66759, + "chunks_per_bot": { + "walk": 2670.36 + }, + "unique_chunks_per_bot": { + "walk": 689.76 + }, + "resent": 0, + "pulled_back": 12, + "moved_too_quickly": 12, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 50, + "behaviour": "walk", + "start_seconds": 9.21, + "mspt": { + "average": 35.07, + "p50": 30.55, + "p95": 73.24, + "p99": 99.38 + }, + "mspt_worst_p99": 117.2, + "tps": 20.0, + "rss_mb": { + "mean": 816.58, + "max": 818.5 + }, + "cpu_percent": 187.42, + "chunks_per_second": 469.11, + "unique_per_second": 15.92, + "forgotten_per_second": 468.62, + "waited_ticks_per_second": 0.0, + "chunks_total": 136962, + "chunks_per_bot": { + "walk": 2739.24 + }, + "unique_chunks_per_bot": { + "walk": 685.68 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 50, + "behaviour": "walk", + "start_seconds": 15.95, + "mspt": { + "average": 35.23, + "p50": 31.39, + "p95": 60.87, + "p99": 104.2 + }, + "mspt_worst_p99": 443.7, + "tps": 20.0, + "rss_mb": { + "mean": 3562.57, + "max": 3598.9 + }, + "cpu_percent": 263.27, + "chunks_per_second": 497.51, + "unique_per_second": 30.67, + "forgotten_per_second": 495.7, + "waited_ticks_per_second": 0.0, + "chunks_total": 131116, + "chunks_per_bot": { + "walk": 2622.32 + }, + "unique_chunks_per_bot": { + "walk": 687.78 + }, + "resent": 0, + "pulled_back": 96, + "moved_too_quickly": 96, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 100, + "behaviour": "walk", + "start_seconds": 9.21, + "mspt": { + "average": 104.8, + "p50": 100.6, + "p95": 158.8, + "p99": 198.61 + }, + "mspt_worst_p99": 259.8, + "tps": 9.54, + "rss_mb": { + "mean": 850.05, + "max": 851.2 + }, + "cpu_percent": 198.95, + "chunks_per_second": 371.72, + "unique_per_second": 26.27, + "forgotten_per_second": 365.57, + "waited_ticks_per_second": 0.0, + "chunks_total": 144465, + "chunks_per_bot": { + "walk": 1444.65 + }, + "unique_chunks_per_bot": { + "walk": 571.76 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 100, + "bots_failed": [], + "tick_queries": 34 + }, + { + "server": "vanilla", + "bots": 100, + "behaviour": "walk", + "start_seconds": 15.25, + "error": "[Errno 32] Broken pipe" + }, + { + "server": "horizon", + "bots": 1, + "behaviour": "explore", + "start_seconds": 9.41, + "mspt": { + "average": 11.42, + "p50": 10.15, + "p95": 24.66, + "p99": 37.27 + }, + "mspt_worst_p99": 60.3, + "tps": 20.0, + "rss_mb": { + "mean": 838.61, + "max": 888.0 + }, + "cpu_percent": 326.85, + "chunks_per_second": 41.83, + "unique_per_second": 36.39, + "forgotten_per_second": 41.75, + "waited_ticks_per_second": 0.0, + "chunks_total": 9845, + "chunks_per_bot": { + "explore": 9845.0 + }, + "unique_chunks_per_bot": { + "explore": 8718.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 1, + "behaviour": "explore", + "start_seconds": 15.44, + "mspt": { + "average": 9.83, + "p50": 7.72, + "p95": 20.36, + "p99": 84.65 + }, + "mspt_worst_p99": 385.9, + "tps": 20.0, + "rss_mb": { + "mean": 3598.02, + "max": 3658.9 + }, + "cpu_percent": 244.86, + "chunks_per_second": 35.28, + "unique_per_second": 33.34, + "forgotten_per_second": 35.13, + "waited_ticks_per_second": 0.0, + "chunks_total": 7881, + "chunks_per_bot": { + "explore": 7881.0 + }, + "unique_chunks_per_bot": { + "explore": 7540.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 10, + "behaviour": "explore", + "start_seconds": 9.52, + "mspt": { + "average": 23.54, + "p50": 21.18, + "p95": 43.4, + "p99": 60.85 + }, + "mspt_worst_p99": 109.1, + "tps": 20.0, + "rss_mb": { + "mean": 1139.51, + "max": 1301.0 + }, + "cpu_percent": 331.74, + "chunks_per_second": 43.86, + "unique_per_second": 43.09, + "forgotten_per_second": 43.82, + "waited_ticks_per_second": 172.35, + "chunks_total": 14140, + "chunks_per_bot": { + "explore": 1414.0 + }, + "unique_chunks_per_bot": { + "explore": 1395.9 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 10, + "behaviour": "explore", + "start_seconds": 15.78, + "mspt": { + "average": 16.42, + "p50": 14.01, + "p95": 30.29, + "p99": 96.17 + }, + "mspt_worst_p99": 1144.3, + "tps": 20.0, + "rss_mb": { + "mean": 3964.49, + "max": 4248.3 + }, + "cpu_percent": 256.86, + "chunks_per_second": 25.43, + "unique_per_second": 25.33, + "forgotten_per_second": 25.96, + "waited_ticks_per_second": 76.05, + "chunks_total": 7991, + "chunks_per_bot": { + "explore": 799.1 + }, + "unique_chunks_per_bot": { + "explore": 797.7 + }, + "resent": 0, + "pulled_back": 11028, + "moved_too_quickly": 17, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 25, + "behaviour": "explore", + "start_seconds": 9.31, + "mspt": { + "average": 36.87, + "p50": 33.92, + "p95": 63.19, + "p99": 84.17 + }, + "mspt_worst_p99": 124.2, + "tps": 20.0, + "rss_mb": { + "mean": 1236.2, + "max": 1438.4 + }, + "cpu_percent": 345.03, + "chunks_per_second": 91.07, + "unique_per_second": 88.7, + "forgotten_per_second": 92.51, + "waited_ticks_per_second": 443.88, + "chunks_total": 30035, + "chunks_per_bot": { + "explore": 1201.4 + }, + "unique_chunks_per_bot": { + "explore": 1176.84 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 25, + "behaviour": "explore", + "start_seconds": 14.55, + "mspt": { + "average": 24.31, + "p50": 21.76, + "p95": 36.55, + "p99": 155.88 + }, + "mspt_worst_p99": 1535.8, + "tps": 20.0, + "rss_mb": { + "mean": 4047.76, + "max": 4459.2 + }, + "cpu_percent": 305.24, + "chunks_per_second": 37.94, + "unique_per_second": 37.82, + "forgotten_per_second": 38.87, + "waited_ticks_per_second": 261.79, + "chunks_total": 16604, + "chunks_per_bot": { + "explore": 664.16 + }, + "unique_chunks_per_bot": { + "explore": 660.92 + }, + "resent": 0, + "pulled_back": 33246, + "moved_too_quickly": 20, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 50, + "behaviour": "explore", + "start_seconds": 9.21, + "mspt": { + "average": 60.06, + "p50": 57.31, + "p95": 88.38, + "p99": 112.89 + }, + "mspt_worst_p99": 172.4, + "tps": 16.65, + "rss_mb": { + "mean": 1192.47, + "max": 1372.5 + }, + "cpu_percent": 362.42, + "chunks_per_second": 157.28, + "unique_per_second": 154.2, + "forgotten_per_second": 156.07, + "waited_ticks_per_second": 890.09, + "chunks_total": 54551, + "chunks_per_bot": { + "explore": 1091.02 + }, + "unique_chunks_per_bot": { + "explore": 1078.5 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 50, + "behaviour": "explore", + "start_seconds": 15.64, + "error": "[Errno 32] Broken pipe" + }, + { + "server": "horizon", + "bots": 100, + "behaviour": "explore", + "start_seconds": 9.21, + "mspt": { + "average": 124.25, + "p50": 120.1, + "p95": 168.33, + "p99": 204.64 + }, + "mspt_worst_p99": 262.2, + "tps": 8.05, + "rss_mb": { + "mean": 1283.26, + "max": 1418.6 + }, + "cpu_percent": 334.14, + "chunks_per_second": 185.47, + "unique_per_second": 184.54, + "forgotten_per_second": 179.79, + "waited_ticks_per_second": 1864.45, + "chunks_total": 78556, + "chunks_per_bot": { + "explore": 785.56 + }, + "unique_chunks_per_bot": { + "explore": 784.88 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 100, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 100, + "behaviour": "explore", + "start_seconds": 15.44, + "error": "[Errno 32] Broken pipe" + } + ] +} diff --git a/benchmarks/server-2026-10-17/explore-equal-rate.json b/benchmarks/server-2026-10-17/explore-equal-rate.json new file mode 100644 index 0000000000..1356529e33 --- /dev/null +++ b/benchmarks/server-2026-10-17/explore-equal-rate.json @@ -0,0 +1,341 @@ +{ + "kind": "horizon-server-benchmark", + "date": "2026-10-17T18:12:19+00:00", + "machine": { + "system": "Linux", + "machine": "x86_64", + "cpus": 4 + }, + "commit": "7bbbf6e97fb53683eae0a01ce2c134e53cb649a7", + "java": [ + "openjdk 25.0.4.1 2026-08-18" + ], + "settings": { + "servers": "horizon,vanilla", + "bots": "1,10,25,50", + "behaviour": "explore", + "join_every": 1.0, + "warmup": 60, + "seconds": 180, + "seed": 12345, + "explore_speed": 0.8, + "gamerule": "", + "heap": "4g", + "out": "/home/ludovic/code/horizon/.claude/worktrees/server-host-4/.local/bench-out/explore-equal-rate.json", + "nice": 19, + "bots_via": "ssh macmini", + "bots_bin": "/Users/ludovicmarie/code/horizon/.claude/worktrees/server-host-4/target/release/horizon-bots", + "connect": "", + "properties": { + "level-seed": "12345", + "view-distance": "10", + "simulation-distance": "10", + "online-mode": "false", + "white-list": "false", + "gamemode": "creative", + "force-gamemode": "true", + "spawn-protection": "0", + "max-players": "200", + "difficulty": "easy", + "sync-chunk-writes": "true" + } + }, + "runs": [ + { + "server": "horizon", + "bots": 1, + "behaviour": "explore", + "start_seconds": 9.42, + "mspt": { + "average": 3.16, + "p50": 2.98, + "p95": 5.78, + "p99": 12.17 + }, + "mspt_worst_p99": 38.1, + "tps": 20.0, + "rss_mb": { + "mean": 759.26, + "max": 769.5 + }, + "cpu_percent": 21.74, + "chunks_per_second": 1.64, + "unique_per_second": 1.27, + "forgotten_per_second": 1.54, + "waited_ticks_per_second": 0.0, + "chunks_total": 841, + "chunks_per_bot": { + "explore": 841.0 + }, + "unique_chunks_per_bot": { + "explore": 781.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 1, + "behaviour": "explore", + "start_seconds": 17.17, + "mspt": { + "average": 16.82, + "p50": 16.67, + "p95": 27.3, + "p99": 52.16 + }, + "mspt_worst_p99": 453.4, + "tps": 20.0, + "rss_mb": { + "mean": 3373.16, + "max": 3405.9 + }, + "cpu_percent": 69.22, + "chunks_per_second": 1.66, + "unique_per_second": 1.35, + "forgotten_per_second": 1.54, + "waited_ticks_per_second": 0.0, + "chunks_total": 838, + "chunks_per_bot": { + "explore": 838.0 + }, + "unique_chunks_per_bot": { + "explore": 779.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 10, + "behaviour": "explore", + "start_seconds": 9.82, + "mspt": { + "average": 9.83, + "p50": 8.65, + "p95": 19.01, + "p99": 32.9 + }, + "mspt_worst_p99": 64.0, + "tps": 20.0, + "rss_mb": { + "mean": 861.49, + "max": 922.2 + }, + "cpu_percent": 77.43, + "chunks_per_second": 13.71, + "unique_per_second": 12.31, + "forgotten_per_second": 13.59, + "waited_ticks_per_second": 0.0, + "chunks_total": 7831, + "chunks_per_bot": { + "explore": 783.1 + }, + "unique_chunks_per_bot": { + "explore": 757.1 + }, + "resent": 0, + "pulled_back": 1051, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 10, + "behaviour": "explore", + "start_seconds": 15.06, + "mspt": { + "average": 24.38, + "p50": 21.55, + "p95": 39.58, + "p99": 66.64 + }, + "mspt_worst_p99": 107.1, + "tps": 20.0, + "rss_mb": { + "mean": 3569.41, + "max": 3685.1 + }, + "cpu_percent": 132.09, + "chunks_per_second": 13.54, + "unique_per_second": 12.32, + "forgotten_per_second": 13.62, + "waited_ticks_per_second": 0.0, + "chunks_total": 7753, + "chunks_per_bot": { + "explore": 775.3 + }, + "unique_chunks_per_bot": { + "explore": 749.2 + }, + "resent": 0, + "pulled_back": 1027, + "moved_too_quickly": 6, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 25, + "behaviour": "explore", + "start_seconds": 9.31, + "mspt": { + "average": 16.87, + "p50": 15.4, + "p95": 30.88, + "p99": 46.73 + }, + "mspt_worst_p99": 84.9, + "tps": 20.0, + "rss_mb": { + "mean": 887.11, + "max": 945.5 + }, + "cpu_percent": 111.2, + "chunks_per_second": 33.51, + "unique_per_second": 29.92, + "forgotten_per_second": 33.33, + "waited_ticks_per_second": 0.0, + "chunks_total": 19718, + "chunks_per_bot": { + "explore": 788.72 + }, + "unique_chunks_per_bot": { + "explore": 759.08 + }, + "resent": 0, + "pulled_back": 3770, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 25, + "behaviour": "explore", + "start_seconds": 14.94, + "mspt": { + "average": 30.29, + "p50": 28.25, + "p95": 43.47, + "p99": 68.56 + }, + "mspt_worst_p99": 165.2, + "tps": 20.0, + "rss_mb": { + "mean": 3608.97, + "max": 3732.0 + }, + "cpu_percent": 176.28, + "chunks_per_second": 32.98, + "unique_per_second": 29.29, + "forgotten_per_second": 32.84, + "waited_ticks_per_second": 0.0, + "chunks_total": 19442, + "chunks_per_bot": { + "explore": 777.68 + }, + "unique_chunks_per_bot": { + "explore": 748.24 + }, + "resent": 0, + "pulled_back": 5139, + "moved_too_quickly": 11, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 50, + "behaviour": "explore", + "start_seconds": 9.41, + "mspt": { + "average": 23.57, + "p50": 20.43, + "p95": 47.53, + "p99": 67.23 + }, + "mspt_worst_p99": 106.2, + "tps": 20.0, + "rss_mb": { + "mean": 924.41, + "max": 984.3 + }, + "cpu_percent": 127.14, + "chunks_per_second": 66.56, + "unique_per_second": 59.42, + "forgotten_per_second": 66.43, + "waited_ticks_per_second": 0.0, + "chunks_total": 39950, + "chunks_per_bot": { + "explore": 799.0 + }, + "unique_chunks_per_bot": { + "explore": 767.56 + }, + "resent": 0, + "pulled_back": 7434, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 50, + "behaviour": "explore", + "start_seconds": 15.04, + "mspt": { + "average": 42.44, + "p50": 40.71, + "p95": 54.84, + "p99": 94.23 + }, + "mspt_worst_p99": 212.3, + "tps": 20.0, + "rss_mb": { + "mean": 3667.85, + "max": 3780.8 + }, + "cpu_percent": 200.85, + "chunks_per_second": 65.17, + "unique_per_second": 58.11, + "forgotten_per_second": 65.22, + "waited_ticks_per_second": 0.0, + "chunks_total": 39772, + "chunks_per_bot": { + "explore": 795.44 + }, + "unique_chunks_per_bot": { + "explore": 764.02 + }, + "resent": 0, + "pulled_back": 10604, + "moved_too_quickly": 38, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + } + ] +} diff --git a/benchmarks/server-2026-10-17/explore.json b/benchmarks/server-2026-10-17/explore.json deleted file mode 100644 index 9995ba7383..0000000000 --- a/benchmarks/server-2026-10-17/explore.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "kind": "horizon-server-benchmark", - "date": "2026-10-17T08:36:03+00:00", - "machine": { - "system": "Darwin", - "machine": "arm64", - "cpus": 14 - }, - "commit": "123987c4591b8209cc3e7df495482298803bbd9a", - "java": [ - "openjdk 25.0.4.1 2026-08-18 LTS" - ], - "settings": { - "servers": "horizon,vanilla", - "bots": "1,10,25,50,100", - "behaviour": "explore", - "join_every": 1.0, - "warmup": 60, - "seconds": 180, - "seed": 12345, - "heap": "4g", - "out": "explore.json", - "properties": { - "level-seed": "12345", - "view-distance": "10", - "simulation-distance": "10", - "online-mode": "false", - "white-list": "false", - "gamemode": "creative", - "force-gamemode": "true", - "spawn-protection": "0", - "max-players": "200", - "difficulty": "easy", - "sync-chunk-writes": "true" - } - }, - "runs": [ - { - "server": "horizon", - "bots": 1, - "start_seconds": 14.21, - "mspt": { - "average": 11.56, - "p50": 3.73, - "p95": 50.42, - "p99": 122.65 - }, - "mspt_worst_p99": 317.7, - "tps": 20.0, - "rss_mb": { - "mean": 1686.0, - "max": 1730.8 - }, - "cpu_percent": 119.52, - "chunks_per_second": 44.48, - "bots_joined": 1, - "bots_failed": [], - "tick_queries": 32 - }, - { - "server": "vanilla", - "bots": 1, - "start_seconds": 36.45, - "mspt": { - "average": 15.93, - "p50": 9.44, - "p95": 51.1, - "p99": 110.42 - }, - "mspt_worst_p99": 318.2, - "tps": 20.0, - "rss_mb": { - "mean": 3515.74, - "max": 3579.8 - }, - "cpu_percent": 92.34, - "chunks_per_second": 32.26, - "bots_joined": 1, - "bots_failed": [], - "tick_queries": 31 - }, - { - "server": "horizon", - "bots": 10, - "start_seconds": 26.41, - "mspt": { - "average": 8.23, - "p50": 5.34, - "p95": 25.13, - "p99": 47.67 - }, - "mspt_worst_p99": 127.9, - "tps": 20.0, - "rss_mb": { - "mean": 2029.74, - "max": 2151.8 - }, - "cpu_percent": 274.97, - "chunks_per_second": 10.82, - "bots_joined": 10, - "bots_failed": [], - "tick_queries": 33 - }, - { - "server": "vanilla", - "bots": 10, - "start_seconds": 20.36, - "mspt": { - "average": 30.76, - "p50": 10.81, - "p95": 121.47, - "p99": 281.86 - }, - "mspt_worst_p99": 753.1, - "tps": 20.0, - "rss_mb": { - "mean": 4616.8, - "max": 4873.9 - }, - "cpu_percent": 168.65, - "chunks_per_second": 41.36, - "bots_joined": 10, - "bots_failed": [], - "tick_queries": 32 - }, - { - "server": "horizon", - "bots": 25, - "start_seconds": 17.82, - "mspt": { - "average": 14.61, - "p50": 10.07, - "p95": 43.57, - "p99": 80.55 - }, - "mspt_worst_p99": 127.2, - "tps": 20.0, - "rss_mb": { - "mean": 1936.5, - "max": 1996.0 - }, - "cpu_percent": 230.76, - "chunks_per_second": 0.0, - "bots_joined": 25, - "bots_failed": [], - "tick_queries": 32 - }, - { - "server": "vanilla", - "bots": 25, - "start_seconds": 30.92, - "error": "[Errno 32] Broken pipe" - }, - { - "server": "horizon", - "bots": 50, - "start_seconds": 23.74, - "mspt": { - "average": 72.2, - "p50": 57.53, - "p95": 207.54, - "p99": 284.82 - }, - "mspt_worst_p99": 399.2, - "tps": 13.85, - "rss_mb": { - "mean": 2694.26, - "max": 2781.4 - }, - "cpu_percent": 162.62, - "chunks_per_second": 0.0, - "bots_joined": 50, - "bots_failed": [], - "tick_queries": 32 - }, - { - "server": "vanilla", - "bots": 50, - "start_seconds": 35.21, - "error": "[Errno 32] Broken pipe" - }, - { - "server": "horizon", - "bots": 100, - "start_seconds": 25.69, - "mspt": { - "average": 239.02, - "p50": 245.93, - "p95": 442.44, - "p99": 581.13 - }, - "mspt_worst_p99": 776.5, - "tps": 4.18, - "rss_mb": { - "mean": 1835.34, - "max": 1838.4 - }, - "cpu_percent": 106.19, - "chunks_per_second": 0.0, - "bots_joined": 100, - "bots_failed": [], - "tick_queries": 32 - }, - { - "server": "vanilla", - "bots": 100, - "start_seconds": 36.46, - "error": "[Errno 32] Broken pipe" - } - ], - "worktree_commit": "171fbeb8ac4877109fc95e93c5db1b0f2360652b" -} \ No newline at end of file diff --git a/benchmarks/server-2026-10-17/load.txt b/benchmarks/server-2026-10-17/load.txt index aaeddf9f37..33d8b191f9 100644 --- a/benchmarks/server-2026-10-17/load.txt +++ b/benchmarks/server-2026-10-17/load.txt @@ -1,181 +1,279 @@ -2026-10-17T07:02:41Z load 64.69 cpu 80% busy (agents 4.2, rest 3.9 cores) -2026-10-17T07:03:12Z load 66.17 cpu 93% busy (agents 3.5, rest 9.6 cores) -2026-10-17T07:03:43Z load 65.37 cpu 98% busy (agents 3.5, rest 7.1 cores) -2026-10-17T07:04:14Z load 61.95 cpu 79% busy (agents 5.4, rest 6.0 cores) -2026-10-17T07:04:44Z load 65.21 cpu 78% busy (agents 4.7, rest 6.1 cores) -2026-10-17T07:05:14Z load 77.01 cpu 86% busy (agents 3.0, rest 9.2 cores) -2026-10-17T07:05:44Z load 71.26 cpu 91% busy (agents 2.9, rest 9.7 cores) -2026-10-17T07:06:16Z load 62.39 cpu 80% busy (agents 3.9, rest 7.1 cores) -2026-10-17T07:06:47Z load 68.72 cpu 94% busy (agents 5.0, rest 8.2 cores) -2026-10-17T07:07:18Z load 74.78 cpu 94% busy (agents 5.6, rest 7.2 cores) -2026-10-17T07:07:50Z load 80.02 cpu 85% busy (agents 4.8, rest 8.5 cores) -2026-10-17T07:08:22Z load 78.84 cpu 88% busy (agents 5.8, rest 7.0 cores) -2026-10-17T07:08:52Z load 66.27 cpu 93% busy (agents 7.7, rest 5.6 cores) -2026-10-17T07:09:22Z load 60.90 cpu 93% busy (agents 9.9, rest 4.5 cores) -2026-10-17T07:09:52Z load 54.38 cpu 91% busy (agents 4.0, rest 8.5 cores) -2026-10-17T07:10:23Z load 51.89 cpu 72% busy (agents 4.8, rest 4.9 cores) -2026-10-17T07:10:53Z load 54.13 cpu 67% busy (agents 3.6, rest 4.9 cores) -2026-10-17T07:11:24Z load 64.71 cpu 80% busy (agents 7.6, rest 5.4 cores) -2026-10-17T07:11:55Z load 68.80 cpu 79% busy (agents 8.4, rest 3.1 cores) -2026-10-17T07:12:26Z load 63.15 cpu 65% busy (agents 4.1, rest 7.0 cores) -2026-10-17T07:12:57Z load 53.85 cpu 92% busy (agents 8.5, rest 4.3 cores) -2026-10-17T07:13:27Z load 48.25 cpu 85% busy (agents 5.2, rest 5.0 cores) -2026-10-17T07:13:57Z load 44.37 cpu 83% busy (agents 5.4, rest 7.7 cores) -2026-10-17T07:14:27Z load 55.72 cpu 84% busy (agents 6.2, rest 5.0 cores) -2026-10-17T07:14:58Z load 59.28 cpu 85% busy (agents 7.5, rest 4.2 cores) -2026-10-17T07:15:29Z load 56.33 cpu 75% busy (agents 7.8, rest 2.6 cores) -2026-10-17T07:15:59Z load 56.73 cpu 86% busy (agents 7.1, rest 3.9 cores) -2026-10-17T07:16:29Z load 55.69 cpu 87% busy (agents 8.9, rest 4.3 cores) -2026-10-17T07:17:00Z load 51.02 cpu 84% busy (agents 5.9, rest 6.2 cores) -2026-10-17T07:17:30Z load 52.09 cpu 87% busy (agents 8.7, rest 3.7 cores) -2026-10-17T07:18:00Z load 51.21 cpu 92% busy (agents 6.4, rest 6.4 cores) -2026-10-17T07:18:30Z load 54.91 cpu 66% busy (agents 2.7, rest 7.1 cores) -2026-10-17T07:19:01Z load 56.12 cpu 66% busy (agents 7.1, rest 3.1 cores) -2026-10-17T07:19:32Z load 59.15 cpu 79% busy (agents 6.3, rest 4.1 cores) -2026-10-17T07:20:02Z load 64.32 cpu 83% busy (agents 8.2, rest 3.5 cores) -2026-10-17T07:20:32Z load 66.42 cpu 76% busy (agents 7.1, rest 3.9 cores) -2026-10-17T07:21:02Z load 66.45 cpu 81% busy (agents 5.5, rest 6.1 cores) -2026-10-17T07:21:33Z load 70.55 cpu 82% busy (agents 7.0, rest 4.7 cores) -2026-10-17T07:22:03Z load 72.95 cpu 85% busy (agents 4.8, rest 6.6 cores) -2026-10-17T07:22:33Z load 75.48 cpu 95% busy (agents 4.8, rest 8.2 cores) -2026-10-17T07:23:04Z load 75.45 cpu 48% busy (agents 3.0, rest 5.5 cores) -2026-10-17T07:23:34Z load 75.99 cpu 82% busy (agents 3.6, rest 6.9 cores) -2026-10-17T07:24:06Z load 72.16 cpu 86% busy (agents 4.2, rest 7.2 cores) -2026-10-17T07:24:37Z load 85.91 cpu 68% busy (agents 2.3, rest 7.3 cores) -2026-10-17T07:25:09Z load 109.60 cpu 59% busy (agents 2.1, rest 5.9 cores) -2026-10-17T07:25:41Z load 100.52 cpu 92% busy (agents 4.6, rest 7.3 cores) -2026-10-17T07:26:12Z load 87.53 cpu 71% busy (agents 5.5, rest 4.2 cores) -2026-10-17T07:26:42Z load 80.26 cpu 91% busy (agents 8.6, rest 4.0 cores) -2026-10-17T07:27:12Z load 79.82 cpu 90% busy (agents 5.6, rest 6.0 cores) -2026-10-17T07:27:43Z load 81.69 cpu 83% busy (agents 6.5, rest 5.3 cores) -2026-10-17T07:28:13Z load 96.47 cpu 81% busy (agents 8.0, rest 5.4 cores) -2026-10-17T07:28:44Z load 92.13 cpu 87% busy (agents 3.4, rest 9.7 cores) -2026-10-17T07:29:14Z load 75.93 cpu 80% busy (agents 4.3, rest 7.4 cores) -2026-10-17T07:29:44Z load 76.33 cpu 85% busy (agents 3.6, rest 8.0 cores) -2026-10-17T07:30:15Z load 77.18 cpu 69% busy (agents 2.0, rest 9.5 cores) -2026-10-17T07:30:46Z load 91.47 cpu 72% busy (agents 3.1, rest 9.0 cores) -2026-10-17T07:31:17Z load 97.16 cpu 75% busy (agents 2.5, rest 7.7 cores) -2026-10-17T07:31:48Z load 97.59 cpu 75% busy (agents 1.9, rest 9.1 cores) -2026-10-17T07:32:20Z load 91.54 cpu 83% busy (agents 1.2, rest 10.0 cores) -2026-10-17T07:32:51Z load 90.94 cpu 61% busy (agents 2.5, rest 7.8 cores) -2026-10-17T07:33:22Z load 100.43 cpu 81% busy (agents 2.1, rest 8.8 cores) -2026-10-17T07:33:53Z load 123.45 cpu 76% busy (agents 3.9, rest 7.3 cores) -2026-10-17T07:34:24Z load 139.49 cpu 85% busy (agents 3.3, rest 9.0 cores) -2026-10-17T07:34:56Z load 157.36 cpu 91% busy (agents 3.5, rest 9.5 cores) -2026-10-17T07:35:29Z load 161.48 cpu 82% busy (agents 4.5, rest 7.0 cores) -2026-10-17T07:36:02Z load 143.38 cpu 77% busy (agents 5.9, rest 5.4 cores) -2026-10-17T07:36:32Z load 135.93 cpu 74% busy (agents 5.3, rest 5.6 cores) -2026-10-17T07:37:03Z load 134.20 cpu 78% busy (agents 6.1, rest 5.4 cores) -2026-10-17T07:37:34Z load 131.11 cpu 80% busy (agents 3.4, rest 6.7 cores) -2026-10-17T07:38:05Z load 135.55 cpu 73% busy (agents 3.4, rest 7.4 cores) -2026-10-17T07:38:36Z load 139.04 cpu 77% busy (agents 2.8, rest 8.1 cores) -2026-10-17T07:39:07Z load 146.25 cpu 84% busy (agents 2.5, rest 8.6 cores) -2026-10-17T07:39:38Z load 153.62 cpu 86% busy (agents 4.8, rest 7.3 cores) -2026-10-17T07:40:09Z load 143.04 cpu 71% busy (agents 5.5, rest 5.8 cores) -2026-10-17T07:40:40Z load 140.93 cpu 81% busy (agents 4.5, rest 6.8 cores) -2026-10-17T07:41:10Z load 135.26 cpu 87% busy (agents 3.9, rest 6.7 cores) -2026-10-17T07:41:42Z load 130.29 cpu 79% busy (agents 2.5, rest 7.9 cores) -2026-10-17T07:42:12Z load 122.54 cpu 85% busy (agents 2.4, rest 8.3 cores) -2026-10-17T07:42:43Z load 129.43 cpu 82% busy (agents 3.5, rest 9.0 cores) -2026-10-17T07:43:15Z load 124.15 cpu 81% busy (agents 3.1, rest 8.4 cores) -2026-10-17T07:43:46Z load 112.18 cpu 84% busy (agents 3.0, rest 8.3 cores) -2026-10-17T07:44:17Z load 104.49 cpu 83% busy (agents 4.4, rest 8.2 cores) -2026-10-17T07:44:51Z load 101.11 cpu 77% busy (agents 3.8, rest 8.6 cores) -2026-10-17T07:45:22Z load 88.91 cpu 86% busy (agents 5.3, rest 6.2 cores) -2026-10-17T07:45:52Z load 75.92 cpu 84% busy (agents 4.9, rest 7.3 cores) -2026-10-17T07:46:23Z load 71.83 cpu 89% busy (agents 3.9, rest 7.2 cores) -2026-10-17T07:46:54Z load 75.07 cpu 88% busy (agents 5.4, rest 7.7 cores) -2026-10-17T07:47:25Z load 78.04 cpu 86% busy (agents 2.7, rest 7.8 cores) -2026-10-17T07:47:56Z load 75.74 cpu 89% busy (agents 3.8, rest 7.7 cores) -2026-10-17T07:48:26Z load 79.47 cpu 85% busy (agents 3.0, rest 9.2 cores) -2026-10-17T07:48:57Z load 94.67 cpu 72% busy (agents 1.1, rest 8.1 cores) -2026-10-17T07:49:29Z load 108.05 cpu 87% busy (agents 4.5, rest 8.2 cores) -2026-10-17T07:50:00Z load 95.52 cpu 90% busy (agents 6.8, rest 6.6 cores) -2026-10-17T07:50:31Z load 86.78 cpu 93% busy (agents 3.5, rest 8.6 cores) -2026-10-17T07:51:01Z load 84.06 cpu 93% busy (agents 4.7, rest 8.2 cores) -2026-10-17T07:51:32Z load 82.29 cpu 94% busy (agents 6.2, rest 7.6 cores) -2026-10-17T07:52:02Z load 87.70 cpu 92% busy (agents 3.6, rest 7.7 cores) -2026-10-17T07:52:33Z load 87.61 cpu 94% busy (agents 2.4, rest 8.7 cores) -2026-10-17T07:53:05Z load 98.97 cpu 73% busy (agents 4.1, rest 7.2 cores) -2026-10-17T07:53:37Z load 102.02 cpu 89% busy (agents 5.6, rest 7.5 cores) -2026-10-17T07:54:09Z load 106.62 cpu 87% busy (agents 4.9, rest 7.6 cores) -2026-10-17T07:54:40Z load 119.40 cpu 71% busy (agents 4.0, rest 6.1 cores) -2026-10-17T07:55:12Z load 129.93 cpu 87% busy (agents 5.1, rest 6.4 cores) -2026-10-17T07:55:44Z load 130.60 cpu 89% busy (agents 5.3, rest 7.6 cores) -2026-10-17T07:56:15Z load 128.56 cpu 88% busy (agents 3.4, rest 9.0 cores) -2026-10-17T07:56:47Z load 119.80 cpu 86% busy (agents 4.5, rest 7.8 cores) -2026-10-17T07:57:19Z load 109.94 cpu 90% busy (agents 4.2, rest 8.4 cores) -2026-10-17T07:57:50Z load 105.59 cpu 89% busy (agents 3.7, rest 8.6 cores) -2026-10-17T07:58:21Z load 95.04 cpu 86% busy (agents 3.6, rest 9.2 cores) -2026-10-17T07:58:52Z load 82.20 cpu 90% busy (agents 4.2, rest 8.6 cores) -2026-10-17T07:59:24Z load 84.72 cpu 86% busy (agents 3.0, rest 8.4 cores) -2026-10-17T07:59:55Z load 92.43 cpu 91% busy (agents 3.5, rest 8.8 cores) -2026-10-17T08:00:26Z load 82.76 cpu 80% busy (agents 3.0, rest 8.6 cores) -2026-10-17T08:00:57Z load 83.25 cpu 89% busy (agents 2.5, rest 9.3 cores) -2026-10-17T08:01:28Z load 87.05 cpu 88% busy (agents 2.7, rest 9.3 cores) -2026-10-17T08:01:59Z load 85.58 cpu 90% busy (agents 2.8, rest 9.2 cores) -2026-10-17T08:02:30Z load 76.00 cpu 81% busy (agents 2.4, rest 8.4 cores) -2026-10-17T08:03:01Z load 68.58 cpu 83% busy (agents 4.0, rest 7.6 cores) -2026-10-17T08:03:32Z load 71.30 cpu 85% busy (agents 2.2, rest 9.0 cores) -2026-10-17T08:04:03Z load 70.07 cpu 84% busy (agents 1.9, rest 9.1 cores) -2026-10-17T08:04:33Z load 69.29 cpu 80% busy (agents 5.1, rest 7.3 cores) -2026-10-17T08:05:03Z load 63.54 cpu 75% busy (agents 3.2, rest 8.0 cores) -2026-10-17T08:05:34Z load 71.88 cpu 83% busy (agents 1.9, rest 9.5 cores) -2026-10-17T08:06:05Z load 68.99 cpu 87% busy (agents 3.0, rest 8.8 cores) -2026-10-17T08:06:36Z load 70.77 cpu 84% busy (agents 1.4, rest 10.1 cores) -2026-10-17T08:07:07Z load 64.76 cpu 87% busy (agents 3.0, rest 8.4 cores) -2026-10-17T08:07:37Z load 68.91 cpu 87% busy (agents 2.3, rest 9.8 cores) -2026-10-17T08:08:08Z load 60.76 cpu 78% busy (agents 2.3, rest 7.3 cores) -2026-10-17T08:08:39Z load 61.50 cpu 74% busy (agents 1.8, rest 8.9 cores) -2026-10-17T08:09:09Z load 61.58 cpu 77% busy (agents 3.4, rest 7.5 cores) -2026-10-17T08:09:40Z load 56.41 cpu 79% busy (agents 2.8, rest 8.3 cores) -2026-10-17T08:10:11Z load 66.65 cpu 84% busy (agents 3.2, rest 8.9 cores) -2026-10-17T08:10:42Z load 71.19 cpu 77% busy (agents 1.8, rest 8.4 cores) -2026-10-17T08:11:13Z load 81.45 cpu 88% busy (agents 1.8, rest 10.0 cores) -2026-10-17T08:11:45Z load 76.88 cpu 84% busy (agents 1.7, rest 9.6 cores) -2026-10-17T08:12:15Z load 78.99 cpu 85% busy (agents 4.2, rest 8.2 cores) -2026-10-17T08:12:47Z load 83.76 cpu 85% busy (agents 3.7, rest 8.2 cores) -2026-10-17T08:13:19Z load 82.81 cpu 92% busy (agents 3.0, rest 9.4 cores) -2026-10-17T08:13:51Z load 82.56 cpu 91% busy (agents 2.7, rest 9.2 cores) -2026-10-17T08:14:22Z load 82.13 cpu 86% busy (agents 3.4, rest 9.5 cores) -2026-10-17T08:14:53Z load 83.63 cpu 82% busy (agents 3.6, rest 8.8 cores) -2026-10-17T08:15:25Z load 85.15 cpu 85% busy (agents 3.1, rest 8.8 cores) -2026-10-17T08:15:56Z load 83.50 cpu 84% busy (agents 2.9, rest 9.5 cores) -2026-10-17T08:16:28Z load 89.84 cpu 90% busy (agents 1.5, rest 10.9 cores) -2026-10-17T08:17:00Z load 85.24 cpu 96% busy (agents 4.0, rest 9.6 cores) -2026-10-17T08:17:32Z load 79.73 cpu 93% busy (agents 3.6, rest 9.0 cores) -2026-10-17T08:18:03Z load 68.70 cpu 90% busy (agents 3.0, rest 9.7 cores) -2026-10-17T08:18:33Z load 67.27 cpu 89% busy (agents 2.6, rest 10.1 cores) -2026-10-17T08:19:05Z load 70.63 cpu 84% busy (agents 2.1, rest 10.3 cores) -2026-10-17T08:19:36Z load 80.50 cpu 88% busy (agents 2.3, rest 9.0 cores) -2026-10-17T08:20:08Z load 93.51 cpu 90% busy (agents 4.1, rest 8.8 cores) -2026-10-17T08:20:39Z load 96.52 cpu 83% busy (agents 2.7, rest 9.3 cores) -2026-10-17T08:21:10Z load 92.06 cpu 90% busy (agents 3.2, rest 9.4 cores) -2026-10-17T08:21:41Z load 92.15 cpu 88% busy (agents 3.6, rest 8.8 cores) -2026-10-17T08:22:12Z load 86.95 cpu 85% busy (agents 3.9, rest 8.0 cores) -2026-10-17T08:22:44Z load 89.42 cpu 91% busy (agents 5.0, rest 8.2 cores) -2026-10-17T08:23:15Z load 83.03 cpu 89% busy (agents 4.4, rest 7.8 cores) -2026-10-17T08:23:46Z load 76.29 cpu 78% busy (agents 2.6, rest 9.1 cores) -2026-10-17T08:24:17Z load 85.85 cpu 85% busy (agents 3.8, rest 8.4 cores) -2026-10-17T08:24:49Z load 91.09 cpu 85% busy (agents 3.0, rest 9.3 cores) -2026-10-17T08:25:20Z load 101.77 cpu 88% busy (agents 4.5, rest 8.1 cores) -2026-10-17T08:25:52Z load 111.52 cpu 90% busy (agents 3.4, rest 8.6 cores) -2026-10-17T08:26:24Z load 98.44 cpu 87% busy (agents 4.2, rest 8.2 cores) -2026-10-17T08:26:55Z load 92.66 cpu 89% busy (agents 3.9, rest 8.9 cores) -2026-10-17T08:27:26Z load 90.51 cpu 89% busy (agents 3.8, rest 8.6 cores) -2026-10-17T08:27:58Z load 94.91 cpu 84% busy (agents 4.2, rest 8.3 cores) -2026-10-17T08:28:29Z load 112.87 cpu 87% busy (agents 4.0, rest 8.3 cores) -2026-10-17T08:29:01Z load 119.21 cpu 88% busy (agents 3.2, rest 8.9 cores) -2026-10-17T08:29:33Z load 124.83 cpu 90% busy (agents 2.9, rest 9.1 cores) -2026-10-17T08:30:06Z load 135.92 cpu 83% busy (agents 3.6, rest 8.8 cores) -2026-10-17T08:30:39Z load 141.27 cpu 88% busy (agents 3.8, rest 8.7 cores) -2026-10-17T08:31:11Z load 138.41 cpu 87% busy (agents 2.5, rest 9.3 cores) -2026-10-17T08:31:44Z load 146.34 cpu 85% busy (agents 4.2, rest 8.3 cores) -2026-10-17T08:32:16Z load 143.47 cpu 90% busy (agents 4.7, rest 8.0 cores) -2026-10-17T08:32:48Z load 146.37 cpu 90% busy (agents 3.6, rest 8.7 cores) -2026-10-17T08:33:20Z load 138.78 cpu 90% busy (agents 2.0, rest 8.9 cores) -2026-10-17T08:33:51Z load 133.00 cpu 87% busy (agents 3.4, rest 9.1 cores) -2026-10-17T08:34:23Z load 140.84 cpu 89% busy (agents 3.1, rest 8.7 cores) -2026-10-17T08:34:55Z load 149.49 cpu 86% busy (agents 5.1, rest 7.8 cores) -2026-10-17T08:35:27Z load 144.90 cpu 87% busy (agents 4.5, rest 8.7 cores) -2026-10-17T08:35:58Z load 134.49 cpu 84% busy (agents 3.6, rest 9.3 cores) +2026-10-17T15:51:54Z thinkpad: 1.30 2.47 3.85 | macmini (bots): { 67.44 76.34 77.44 } +2026-10-17T15:52:25Z thinkpad: 2.07 2.54 3.83 | macmini (bots): { 64.78 74.76 76.82 } +2026-10-17T15:52:55Z thinkpad: 2.08 2.51 3.78 | macmini (bots): { 62.50 73.29 76.22 } +2026-10-17T15:53:25Z thinkpad: 1.46 2.31 3.67 | macmini (bots): { 63.70 72.67 75.90 } +2026-10-17T15:53:55Z thinkpad: 1.12 2.15 3.58 | macmini (bots): { 69.06 73.27 76.01 } +2026-10-17T15:54:26Z thinkpad: 1.34 2.09 3.51 | macmini (bots): { 72.55 73.63 76.04 } +2026-10-17T15:54:56Z thinkpad: 1.11 1.97 3.42 | macmini (bots): { 77.53 74.77 76.37 } +2026-10-17T15:55:26Z thinkpad: 1.02 1.87 3.34 | macmini (bots): { 77.61 74.90 76.36 } +2026-10-17T15:55:56Z thinkpad: 1.09 1.81 3.27 | macmini (bots): { 71.56 73.69 75.86 } +2026-10-17T15:56:26Z thinkpad: 2.23 1.99 3.29 | macmini (bots): { 65.21 71.93 75.15 } +2026-10-17T15:56:57Z thinkpad: 2.60 2.12 3.29 | macmini (bots): { 58.16 69.40 74.10 } +2026-10-17T15:57:27Z thinkpad: 2.57 2.18 3.27 | macmini (bots): { 57.54 68.26 73.52 } +2026-10-17T15:57:57Z thinkpad: 2.37 2.17 3.23 | macmini (bots): { 56.15 66.85 72.83 } +2026-10-17T15:58:27Z thinkpad: 1.90 2.08 3.17 | macmini (bots): { 59.28 66.57 72.52 } +2026-10-17T15:58:58Z thinkpad: 1.71 2.02 3.11 | macmini (bots): { 55.64 64.94 71.72 } +2026-10-17T15:59:28Z thinkpad: 1.66 1.97 3.06 | macmini (bots): { 66.06 66.49 72.04 } +2026-10-17T15:59:58Z thinkpad: 1.18 1.83 2.98 | macmini (bots): { 78.15 69.43 72.92 } +2026-10-17T16:00:28Z thinkpad: 0.83 1.68 2.89 | macmini (bots): { 70.77 68.57 72.49 } +2026-10-17T16:00:58Z thinkpad: 1.27 1.70 2.86 | macmini (bots): { 71.95 68.97 72.49 } +2026-10-17T16:01:29Z thinkpad: 1.85 1.79 2.85 | macmini (bots): { 83.43 72.22 73.56 } +2026-10-17T16:01:59Z thinkpad: 2.51 1.95 2.86 | macmini (bots): { 70.49 70.18 72.77 } +2026-10-17T16:02:29Z thinkpad: 1.98 1.87 2.81 | macmini (bots): { 64.00 68.64 72.12 } +2026-10-17T16:02:59Z thinkpad: 1.77 1.84 2.77 | macmini (bots): { 59.65 67.09 71.44 } +2026-10-17T16:03:30Z thinkpad: 4.04 2.35 2.91 | macmini (bots): { 62.67 67.15 71.31 } +2026-10-17T16:04:00Z thinkpad: 4.94 2.72 3.01 | macmini (bots): { 67.63 67.82 71.40 } +2026-10-17T16:04:30Z thinkpad: 4.22 2.78 3.02 | macmini (bots): { 70.41 68.39 71.48 } +2026-10-17T16:05:00Z thinkpad: 3.81 2.80 3.02 | macmini (bots): { 66.59 67.83 71.18 } +2026-10-17T16:05:31Z thinkpad: 3.20 2.75 3.00 | macmini (bots): { 72.53 69.01 71.48 } +2026-10-17T16:06:01Z thinkpad: 4.22 3.04 3.08 | macmini (bots): { 71.30 69.27 71.50 } +2026-10-17T16:06:31Z thinkpad: 5.43 3.47 3.23 | macmini (bots): { 68.37 68.63 71.19 } +2026-10-17T16:07:01Z thinkpad: 4.35 3.42 3.22 | macmini (bots): { 60.20 66.68 70.39 } +2026-10-17T16:07:31Z thinkpad: 3.47 3.31 3.19 | macmini (bots): { 58.03 65.51 69.84 } +2026-10-17T16:08:02Z thinkpad: 2.30 3.04 3.11 | macmini (bots): { 59.05 65.13 69.55 } +2026-10-17T16:08:32Z thinkpad: 1.88 2.86 3.04 | macmini (bots): { 51.77 62.75 68.53 } +2026-10-17T16:09:02Z thinkpad: 1.38 2.65 2.97 | macmini (bots): { 49.05 61.01 67.70 } +2026-10-17T16:09:32Z thinkpad: 3.10 2.95 3.06 | macmini (bots): { 48.91 59.82 67.03 } +2026-10-17T16:10:02Z thinkpad: 2.91 2.91 3.04 | macmini (bots): { 47.56 58.44 66.25 } +2026-10-17T16:10:33Z thinkpad: 2.58 2.83 3.01 | macmini (bots): { 49.23 57.69 65.70 } +2026-10-17T16:11:03Z thinkpad: 8.38 4.15 3.44 | macmini (bots): { 44.16 55.72 64.71 } +2026-10-17T16:11:33Z thinkpad: 9.94 4.92 3.72 | macmini (bots): { 44.50 54.71 64.03 } +2026-10-17T16:12:03Z thinkpad: 10.08 5.42 3.92 | macmini (bots): { 42.15 53.21 63.17 } +2026-10-17T16:12:33Z thinkpad: 6.79 5.06 3.85 | macmini (bots): { 36.13 50.73 61.92 } +2026-10-17T16:13:04Z thinkpad: 4.61 4.72 3.77 | macmini (bots): { 41.28 50.64 61.51 } +2026-10-17T16:13:34Z thinkpad: 3.81 4.50 3.73 | macmini (bots): { 42.92 50.15 60.95 } +2026-10-17T16:14:04Z thinkpad: 3.39 4.35 3.71 | macmini (bots): { 41.56 49.16 60.22 } +2026-10-17T16:14:35Z thinkpad: 7.53 5.17 4.00 | macmini (bots): { 47.48 49.82 60.07 } +2026-10-17T16:15:05Z thinkpad: 9.73 6.01 4.32 | macmini (bots): { 51.43 50.41 59.92 } +2026-10-17T16:15:35Z thinkpad: 8.07 5.94 4.35 | macmini (bots): { 69.31 54.81 61.18 } +2026-10-17T16:16:05Z thinkpad: 9.27 6.45 4.57 | macmini (bots): { 71.85 56.92 61.73 } +2026-10-17T16:16:35Z thinkpad: 8.69 6.59 4.68 | macmini (bots): { 64.77 56.72 61.50 } +2026-10-17T16:17:06Z thinkpad: 6.11 6.17 4.60 | macmini (bots): { 57.92 55.86 61.02 } +2026-10-17T16:17:36Z thinkpad: 6.79 6.33 4.70 | macmini (bots): { 51.44 54.51 60.36 } +2026-10-17T16:18:06Z thinkpad: 5.16 5.99 4.64 | macmini (bots): { 51.33 54.23 60.05 } +2026-10-17T16:18:36Z thinkpad: 5.30 5.93 4.66 | macmini (bots): { 55.22 54.87 60.08 } +2026-10-17T16:19:07Z thinkpad: 4.78 5.72 4.63 | macmini (bots): { 51.62 53.94 59.56 } +2026-10-17T16:19:37Z thinkpad: 5.25 5.78 4.69 | macmini (bots): { 48.77 53.04 59.04 } +2026-10-17T16:20:07Z thinkpad: 4.63 5.60 4.67 | macmini (bots): { 54.59 53.92 59.14 } +2026-10-17T16:20:37Z thinkpad: 5.46 5.67 4.72 | macmini (bots): { 59.07 55.03 59.36 } +2026-10-17T16:21:07Z thinkpad: 8.07 6.19 4.91 | macmini (bots): { 52.53 53.83 58.77 } +2026-10-17T16:21:38Z thinkpad: 15.01 8.05 5.57 | macmini (bots): { 48.85 52.78 58.19 } +2026-10-17T16:22:08Z thinkpad: 19.08 9.69 6.20 | macmini (bots): { 54.73 53.61 58.29 } +2026-10-17T16:22:39Z thinkpad: 27.72 12.63 7.29 | macmini (bots): { 54.23 53.61 58.13 } +2026-10-17T16:23:09Z thinkpad: 23.10 12.88 7.53 | macmini (bots): { 51.63 53.06 57.77 } +2026-10-17T16:23:39Z thinkpad: 20.51 13.53 7.96 | macmini (bots): { 45.29 51.38 57.00 } +2026-10-17T16:24:10Z thinkpad: 12.70 12.30 7.72 | macmini (bots): { 45.61 50.91 56.63 } +2026-10-17T16:24:40Z thinkpad: 8.67 11.35 7.55 | macmini (bots): { 45.18 50.35 56.23 } +2026-10-17T16:25:10Z thinkpad: 6.35 10.53 7.40 | macmini (bots): { 41.10 48.88 55.50 } +2026-10-17T16:25:40Z thinkpad: 6.26 10.16 7.38 | macmini (bots): { 49.86 50.24 55.76 } +2026-10-17T16:26:11Z thinkpad: 7.71 10.11 7.45 | macmini (bots): { 53.93 51.11 55.88 } +2026-10-17T16:26:41Z thinkpad: 9.50 10.32 7.61 | macmini (bots): { 47.61 49.86 55.26 } +2026-10-17T16:27:11Z thinkpad: 10.26 10.39 7.72 | macmini (bots): { 46.43 49.36 54.89 } +2026-10-17T16:27:42Z thinkpad: 10.61 10.48 7.83 | macmini (bots): { 48.88 49.66 54.80 } +2026-10-17T16:28:12Z thinkpad: 10.39 10.45 7.91 | macmini (bots): { 58.42 51.74 55.37 } +2026-10-17T16:28:42Z thinkpad: 10.36 10.44 7.99 | macmini (bots): { 59.59 52.67 55.58 } +2026-10-17T16:29:13Z thinkpad: 9.63 10.25 8.00 | macmini (bots): { 55.30 52.38 55.38 } +2026-10-17T16:29:43Z thinkpad: 10.33 10.37 8.12 | macmini (bots): { 57.79 53.13 55.52 } +2026-10-17T16:30:13Z thinkpad: 9.68 10.18 8.12 | macmini (bots): { 57.83 53.60 55.61 } +2026-10-17T16:30:43Z thinkpad: 9.72 10.17 8.19 | macmini (bots): { 78.94 59.18 57.56 } +2026-10-17T16:31:14Z thinkpad: 6.60 9.36 7.98 | macmini (bots): { 87.29 62.98 58.99 } +2026-10-17T16:31:44Z thinkpad: 6.77 9.08 7.93 | macmini (bots): { 81.82 64.16 59.57 } +2026-10-17T16:32:14Z thinkpad: 13.15 10.41 8.41 | macmini (bots): { 81.20 65.92 60.37 } +2026-10-17T16:32:45Z thinkpad: 27.80 14.12 9.71 | macmini (bots): { 75.41 66.22 60.69 } +2026-10-17T16:33:15Z thinkpad: 44.59 19.25 11.54 | macmini (bots): { 66.92 65.08 60.47 } +2026-10-17T16:33:46Z thinkpad: 44.87 21.89 12.67 | macmini (bots): { 61.47 63.94 60.22 } +2026-10-17T16:34:16Z thinkpad: 38.98 22.67 13.23 | macmini (bots): { 62.13 63.78 60.28 } +2026-10-17T16:34:47Z thinkpad: 47.64 26.08 14.65 | macmini (bots): { 81.23 68.06 61.94 } +2026-10-17T16:35:17Z thinkpad: 47.83 28.02 15.65 | macmini (bots): { 116.14 78.43 65.98 } +2026-10-17T16:35:48Z thinkpad: 40.43 28.18 16.10 | macmini (bots): { 125.61 84.41 68.58 } +2026-10-17T16:36:19Z thinkpad: 41.34 29.71 17.00 | macmini (bots): { 143.61 92.86 72.20 } +2026-10-17T16:36:49Z thinkpad: 34.40 29.19 17.29 | macmini (bots): { 156.05 100.88 75.83 } +2026-10-17T16:37:20Z thinkpad: 25.34 27.65 17.17 | macmini (bots): { 151.90 105.26 78.29 } +2026-10-17T16:37:50Z thinkpad: 18.36 25.71 16.85 | macmini (bots): { 141.10 107.25 79.96 } +2026-10-17T16:38:20Z thinkpad: 16.19 24.47 16.72 | macmini (bots): { 131.21 107.92 81.13 } +2026-10-17T16:38:51Z thinkpad: 13.36 23.00 16.48 | macmini (bots): { 122.08 107.78 82.00 } +2026-10-17T16:39:21Z thinkpad: 11.27 21.57 16.21 | macmini (bots): { 107.07 105.50 82.07 } +2026-10-17T16:39:51Z thinkpad: 11.19 20.56 16.04 | macmini (bots): { 96.38 103.12 82.02 } +2026-10-17T16:40:22Z thinkpad: 10.06 19.37 15.79 | macmini (bots): { 89.06 100.79 81.91 } +2026-10-17T16:40:52Z thinkpad: 7.38 17.86 15.40 | macmini (bots): { 79.35 97.41 81.34 } +2026-10-17T16:41:23Z thinkpad: 6.18 16.57 15.05 | macmini (bots): { 81.70 96.20 81.46 } +2026-10-17T16:41:53Z thinkpad: 5.56 15.44 14.72 | macmini (bots): { 86.51 95.88 81.84 } +2026-10-17T16:42:23Z thinkpad: 4.90 14.33 14.37 | macmini (bots): { 99.20 97.69 83.05 } +2026-10-17T16:42:53Z thinkpad: 5.01 13.47 14.08 | macmini (bots): { 116.29 101.87 85.07 } +2026-10-17T16:43:24Z thinkpad: 4.34 12.50 13.74 | macmini (bots): { 131.32 106.77 87.42 } +2026-10-17T16:43:54Z thinkpad: 4.08 11.65 13.42 | macmini (bots): { 155.44 114.77 90.98 } +2026-10-17T16:44:24Z thinkpad: 4.00 10.90 13.11 | macmini (bots): { 167.86 121.62 94.28 } +2026-10-17T16:44:54Z thinkpad: 3.98 10.13 12.77 | macmini (bots): { 160.36 124.31 96.20 } +2026-10-17T16:45:25Z thinkpad: 4.20 9.59 12.50 | macmini (bots): { 163.23 128.59 98.74 } +2026-10-17T16:45:55Z thinkpad: 4.54 9.15 12.27 | macmini (bots): { 169.93 133.73 101.65 } +2026-10-17T16:46:25Z thinkpad: 4.44 8.69 12.01 | macmini (bots): { 162.40 135.22 103.29 } +2026-10-17T16:46:55Z thinkpad: 4.06 8.20 11.74 | macmini (bots): { 164.16 138.31 105.52 } +2026-10-17T16:47:26Z thinkpad: 3.96 7.78 11.49 | macmini (bots): { 157.92 139.31 107.02 } +2026-10-17T16:47:56Z thinkpad: 3.71 7.35 11.23 | macmini (bots): { 155.72 140.55 108.59 } +2026-10-17T16:48:26Z thinkpad: 4.93 7.32 11.09 | macmini (bots): { 153.39 141.52 110.05 } +2026-10-17T16:48:56Z thinkpad: 4.61 7.03 10.88 | macmini (bots): { 137.54 138.87 110.18 } +2026-10-17T16:49:27Z thinkpad: 4.01 6.65 10.63 | macmini (bots): { 136.53 138.36 110.98 } +2026-10-17T16:49:57Z thinkpad: 3.19 6.19 10.35 | macmini (bots): { 141.12 139.18 112.22 } +2026-10-17T16:50:27Z thinkpad: 5.31 6.43 10.30 | macmini (bots): { 122.76 135.27 111.75 } +2026-10-17T16:50:57Z thinkpad: 5.95 6.48 10.19 | macmini (bots): { 114.26 132.02 111.39 } +2026-10-17T16:51:28Z thinkpad: 5.76 6.41 10.05 | macmini (bots): { 116.04 130.87 111.69 } +2026-10-17T16:51:58Z thinkpad: 5.11 6.18 9.86 | macmini (bots): { 115.06 129.17 111.74 } +2026-10-17T16:52:28Z thinkpad: 5.09 6.07 9.70 | macmini (bots): { 109.91 126.59 111.41 } +2026-10-17T16:52:58Z thinkpad: 4.74 5.90 9.53 | macmini (bots): { 101.90 123.11 110.67 } +2026-10-17T16:53:29Z thinkpad: 4.89 5.84 9.39 | macmini (bots): { 83.29 116.38 108.74 } +2026-10-17T16:53:59Z thinkpad: 5.10 5.82 9.27 | macmini (bots): { 119.16 122.10 111.09 } +2026-10-17T16:54:29Z thinkpad: 4.57 5.67 9.10 | macmini (bots): { 114.87 120.76 110.98 } +2026-10-17T16:55:00Z thinkpad: 4.74 5.58 8.96 | macmini (bots): { 129.84 123.74 112.39 } +2026-10-17T16:55:30Z thinkpad: 6.40 5.90 8.96 | macmini (bots): { 100.10 117.29 110.46 } +2026-10-17T16:56:00Z thinkpad: 6.96 6.08 8.92 | macmini (bots): { 80.18 110.75 108.32 } +2026-10-17T16:56:30Z thinkpad: 6.07 5.95 8.79 | macmini (bots): { 74.41 106.39 106.82 } +2026-10-17T16:57:01Z thinkpad: 6.63 6.13 8.75 | macmini (bots): { 81.71 104.99 106.29 } +2026-10-17T16:57:31Z thinkpad: 6.39 6.14 8.68 | macmini (bots): { 101.10 107.55 107.18 } +2026-10-17T16:58:01Z thinkpad: 6.32 6.16 8.60 | macmini (bots): { 94.45 105.66 106.52 } +2026-10-17T16:58:31Z thinkpad: 5.19 5.90 8.44 | macmini (bots): { 78.76 100.83 104.75 } +2026-10-17T16:59:02Z thinkpad: 5.24 5.83 8.33 | macmini (bots): { 78.19 98.42 103.73 } +2026-10-17T16:59:32Z thinkpad: 3.95 5.48 8.13 | macmini (bots): { 77.57 96.42 102.82 } +2026-10-17T17:00:02Z thinkpad: 3.12 5.13 7.93 | macmini (bots): { 85.23 96.29 102.54 } +2026-10-17T17:00:32Z thinkpad: 3.17 4.93 7.77 | macmini (bots): { 99.84 99.07 103.35 } +2026-10-17T17:01:02Z thinkpad: 6.09 5.50 7.88 | macmini (bots): { 80.56 94.49 101.54 } +2026-10-17T17:01:33Z thinkpad: 9.23 6.29 8.06 | macmini (bots): { 79.70 93.03 100.77 } +2026-10-17T17:02:03Z thinkpad: 9.09 6.54 8.09 | macmini (bots): { 76.63 90.94 99.74 } +2026-10-17T17:02:33Z thinkpad: 7.86 6.52 8.04 | macmini (bots): { 93.08 93.50 100.36 } +2026-10-17T17:03:03Z thinkpad: 7.81 6.67 8.04 | macmini (bots): { 83.14 91.09 99.25 } +2026-10-17T17:03:34Z thinkpad: 6.69 6.51 7.94 | macmini (bots): { 79.37 89.64 98.45 } +2026-10-17T17:04:04Z thinkpad: 5.63 6.27 7.81 | macmini (bots): { 73.68 87.23 97.27 } +2026-10-17T17:04:34Z thinkpad: 5.75 6.21 7.75 | macmini (bots): { 75.89 86.23 96.54 } +2026-10-17T17:05:04Z thinkpad: 5.05 6.01 7.63 | macmini (bots): { 79.29 86.13 96.10 } +2026-10-17T17:05:35Z thinkpad: 3.88 5.62 7.44 | macmini (bots): { 76.07 84.79 95.28 } +2026-10-17T17:06:05Z thinkpad: 6.47 6.07 7.53 | macmini (bots): { 70.59 82.62 94.13 } +2026-10-17T17:06:35Z thinkpad: 8.20 6.53 7.63 | macmini (bots): { 69.09 81.18 93.21 } +2026-10-17T17:07:05Z thinkpad: 7.59 6.54 7.60 | macmini (bots): { 77.55 82.11 93.13 } +2026-10-17T17:07:36Z thinkpad: 6.93 6.49 7.55 | macmini (bots): { 84.23 83.41 93.22 } +2026-10-17T17:08:06Z thinkpad: 7.21 6.61 7.56 | macmini (bots): { 84.31 83.68 92.99 } +2026-10-17T17:08:36Z thinkpad: 6.73 6.57 7.51 | macmini (bots): { 81.04 82.99 92.42 } +2026-10-17T17:09:06Z thinkpad: 6.12 6.43 7.44 | macmini (bots): { 86.55 83.77 92.35 } +2026-10-17T17:09:36Z thinkpad: 6.77 6.58 7.46 | macmini (bots): { 95.19 86.31 92.99 } +2026-10-17T17:10:07Z thinkpad: 7.13 6.68 7.46 | macmini (bots): { 111.30 91.11 94.50 } +2026-10-17T17:10:37Z thinkpad: 5.09 6.23 7.29 | macmini (bots): { 118.51 95.17 95.87 } +2026-10-17T17:11:07Z thinkpad: 4.00 5.86 7.13 | macmini (bots): { 121.12 98.01 96.88 } +2026-10-17T17:11:38Z thinkpad: 3.50 5.57 6.99 | macmini (bots): { 109.57 97.67 96.81 } +2026-10-17T17:12:08Z thinkpad: 2.92 5.22 6.83 | macmini (bots): { 108.43 98.44 97.11 } +2026-10-17T17:12:38Z thinkpad: 3.42 5.12 6.74 | macmini (bots): { 101.61 97.86 96.95 } +2026-10-17T17:13:09Z thinkpad: 5.64 5.51 6.82 | macmini (bots): { 101.66 98.17 97.09 } +2026-10-17T17:13:39Z thinkpad: 7.06 5.89 6.91 | macmini (bots): { 88.43 95.36 96.11 } +2026-10-17T17:14:09Z thinkpad: 7.61 6.13 6.96 | macmini (bots): { 79.03 92.54 95.07 } +2026-10-17T17:14:39Z thinkpad: 9.06 6.68 7.12 | macmini (bots): { 92.55 94.57 95.72 } +2026-10-17T17:15:10Z thinkpad: 9.81 7.06 7.22 | macmini (bots): { 93.71 94.49 95.64 } +2026-10-17T17:15:40Z thinkpad: 9.98 7.41 7.34 | macmini (bots): { 92.26 93.86 95.35 } +2026-10-17T17:16:10Z thinkpad: 7.60 7.08 7.23 | macmini (bots): { 88.61 92.91 94.96 } +2026-10-17T17:16:40Z thinkpad: 6.81 6.93 7.17 | macmini (bots): { 96.96 94.47 95.45 } +2026-10-17T17:17:11Z thinkpad: 6.31 6.81 7.12 | macmini (bots): { 102.92 96.14 96.02 } +2026-10-17T17:17:41Z thinkpad: 4.81 6.38 6.97 | macmini (bots): { 91.20 94.16 95.32 } +2026-10-17T17:18:11Z thinkpad: 7.36 6.81 7.09 | macmini (bots): { 93.60 94.31 95.32 } +2026-10-17T17:18:41Z thinkpad: 9.42 7.38 7.27 | macmini (bots): { 90.86 93.57 95.02 } +2026-10-17T17:19:11Z thinkpad: 9.95 7.72 7.39 | macmini (bots): { 88.94 92.94 94.75 } +2026-10-17T17:19:42Z thinkpad: 9.51 7.85 7.45 | macmini (bots): { 94.97 93.93 95.03 } +2026-10-17T17:20:12Z thinkpad: 8.97 7.90 7.48 | macmini (bots): { 80.46 90.39 93.71 } +2026-10-17T17:20:42Z thinkpad: 7.56 7.65 7.41 | macmini (bots): { 74.38 87.95 92.71 } +2026-10-17T17:21:12Z thinkpad: 6.39 7.36 7.32 | macmini (bots): { 77.48 87.26 92.28 } +2026-10-17T17:21:43Z thinkpad: 5.21 6.98 7.19 | macmini (bots): { 82.05 87.48 92.19 } +2026-10-17T17:22:13Z thinkpad: 3.87 6.49 7.02 | macmini (bots): { 88.15 88.45 92.38 } +2026-10-17T17:22:43Z thinkpad: 3.86 6.22 6.91 | macmini (bots): { 100.23 91.12 93.19 } +2026-10-17T17:23:13Z thinkpad: 8.32 7.05 7.16 | macmini (bots): { 84.55 88.39 92.15 } +2026-10-17T17:23:43Z thinkpad: 13.84 8.37 7.59 | macmini (bots): { 73.74 85.38 90.92 } +2026-10-17T17:24:14Z thinkpad: 21.02 10.71 8.40 | macmini (bots): { 71.36 83.72 90.13 } +2026-10-17T17:24:44Z thinkpad: 20.73 11.82 8.85 | macmini (bots): { 82.27 85.04 90.38 } +2026-10-17T17:25:14Z thinkpad: 16.80 11.77 8.94 | macmini (bots): { 78.63 83.92 89.78 } +2026-10-17T17:25:44Z thinkpad: 14.62 11.68 8.99 | macmini (bots): { 82.33 84.06 89.61 } +2026-10-17T17:26:15Z thinkpad: 14.51 11.94 9.17 | macmini (bots): { 74.13 81.89 88.63 } +2026-10-17T17:26:45Z thinkpad: 12.48 11.74 9.20 | macmini (bots): { 75.65 81.46 88.24 } +2026-10-17T17:27:15Z thinkpad: 15.24 12.56 9.56 | macmini (bots): { 71.35 79.78 87.35 } +2026-10-17T17:27:45Z thinkpad: 15.70 12.87 9.76 | macmini (bots): { 68.21 78.17 86.51 } +2026-10-17T17:28:16Z thinkpad: 12.80 12.47 9.72 | macmini (bots): { 79.74 80.10 86.92 } +2026-10-17T17:28:46Z thinkpad: 9.05 11.58 9.51 | macmini (bots): { 101.01 85.27 88.56 } +2026-10-17T17:29:16Z thinkpad: 9.38 11.41 9.53 | macmini (bots): { 93.76 85.18 88.43 } +2026-10-17T17:29:46Z thinkpad: 11.08 11.62 9.65 | macmini (bots): { 74.91 81.56 87.01 } +2026-10-17T17:30:17Z thinkpad: 10.98 11.53 9.69 | macmini (bots): { 61.10 77.50 85.34 } +2026-10-17T17:30:47Z thinkpad: 9.83 11.21 9.64 | macmini (bots): { 51.19 73.56 83.64 } +2026-10-17T17:31:18Z thinkpad: 9.65 11.03 9.63 | macmini (bots): { 49.64 71.03 82.37 } +2026-10-17T17:31:48Z thinkpad: 7.22 10.33 9.44 | macmini (bots): { 53.62 69.90 81.56 } +2026-10-17T17:32:18Z thinkpad: 5.79 9.68 9.25 | macmini (bots): { 61.07 70.36 81.34 } +2026-10-17T17:32:48Z thinkpad: 3.70 8.80 8.97 | macmini (bots): { 60.39 69.24 80.55 } +2026-10-17T17:33:19Z thinkpad: 2.72 8.08 8.73 | macmini (bots): { 57.06 67.51 79.53 } +2026-10-17T17:33:49Z thinkpad: 1.97 7.37 8.47 | macmini (bots): { 65.72 68.41 79.42 } +2026-10-17T17:34:19Z thinkpad: 1.25 6.68 8.20 | macmini (bots): { 62.60 67.40 78.67 } +2026-10-17T17:34:49Z thinkpad: 0.94 6.09 7.96 | macmini (bots): { 71.83 69.24 78.95 } +2026-10-17T17:35:20Z thinkpad: 0.72 5.54 7.71 | macmini (bots): { 66.16 68.07 78.19 } +2026-10-17T17:35:50Z thinkpad: 0.44 5.01 7.47 | macmini (bots): { 70.96 68.91 78.13 } +2026-10-17T17:36:20Z thinkpad: 1.70 4.79 7.30 | macmini (bots): { 79.74 71.45 78.74 } +2026-10-17T17:36:50Z thinkpad: 3.03 4.80 7.22 | macmini (bots): { 79.71 72.75 78.95 } +2026-10-17T17:37:21Z thinkpad: 3.07 4.67 7.10 | macmini (bots): { 85.13 74.60 79.40 } +2026-10-17T17:37:51Z thinkpad: 2.32 4.33 6.91 | macmini (bots): { 84.85 75.70 79.64 } +2026-10-17T17:38:21Z thinkpad: 1.83 4.03 6.73 | macmini (bots): { 86.47 76.79 79.88 } +2026-10-17T17:38:51Z thinkpad: 1.11 3.64 6.51 | macmini (bots): { 106.96 82.74 81.94 } +2026-10-17T17:39:22Z thinkpad: 1.03 3.37 6.33 | macmini (bots): { 114.52 87.01 83.52 } +2026-10-17T17:39:52Z thinkpad: 1.11 3.16 6.16 | macmini (bots): { 103.99 87.05 83.65 } +2026-10-17T17:40:22Z thinkpad: 1.31 3.02 6.02 | macmini (bots): { 100.27 87.59 83.95 } +2026-10-17T17:40:52Z thinkpad: 1.36 2.87 5.87 | macmini (bots): { 98.17 88.44 84.40 } +2026-10-17T17:41:22Z thinkpad: 2.01 2.88 5.78 | macmini (bots): { 96.27 88.67 84.60 } +2026-10-17T17:41:53Z thinkpad: 1.96 2.77 5.65 | macmini (bots): { 96.31 89.44 85.03 } +2026-10-17T17:42:23Z thinkpad: 3.06 2.97 5.62 | macmini (bots): { 80.49 86.30 84.04 } +2026-10-17T17:42:53Z thinkpad: 2.38 2.81 5.49 | macmini (bots): { 66.40 82.24 82.64 } +2026-10-17T17:43:24Z thinkpad: 2.44 2.81 5.40 | macmini (bots): { 56.70 78.37 81.22 } +2026-10-17T17:43:54Z thinkpad: 1.93 2.65 5.26 | macmini (bots): { 61.56 77.39 80.77 } +2026-10-17T17:44:24Z thinkpad: 1.96 2.59 5.16 | macmini (bots): { 58.25 75.14 79.83 } +2026-10-17T17:44:54Z thinkpad: 2.25 2.60 5.08 | macmini (bots): { 56.32 73.21 78.98 } +2026-10-17T17:45:24Z thinkpad: 1.79 2.46 4.95 | macmini (bots): { 62.87 73.14 78.75 } +2026-10-17T17:45:55Z thinkpad: 2.78 2.64 4.93 | macmini (bots): { 62.58 72.22 78.23 } +2026-10-17T17:46:25Z thinkpad: 4.82 3.14 5.03 | macmini (bots): { 58.89 70.44 77.38 } +2026-10-17T17:46:55Z thinkpad: 3.10 2.90 4.88 | macmini (bots): { 61.68 70.08 77.01 } +2026-10-17T17:47:25Z thinkpad: 2.27 2.71 4.75 | macmini (bots): { 70.43 71.40 77.25 } +2026-10-17T17:47:56Z thinkpad: 1.71 2.53 4.62 | macmini (bots): { 70.51 71.56 77.12 } +2026-10-17T17:48:26Z thinkpad: 1.59 2.42 4.52 | macmini (bots): { 68.98 70.98 76.71 } +2026-10-17T17:48:56Z thinkpad: 2.09 2.47 4.47 | macmini (bots): { 67.75 70.60 76.38 } +2026-10-17T17:49:26Z thinkpad: 2.14 2.44 4.39 | macmini (bots): { 61.53 69.01 75.58 } +2026-10-17T17:49:56Z thinkpad: 2.22 2.43 4.33 | macmini (bots): { 58.49 67.45 74.78 } +2026-10-17T17:50:27Z thinkpad: 1.98 2.36 4.24 | macmini (bots): { 66.15 68.33 74.84 } +2026-10-17T17:50:57Z thinkpad: 2.38 2.42 4.20 | macmini (bots): { 61.65 67.22 74.22 } +2026-10-17T17:51:27Z thinkpad: 3.62 2.72 4.24 | macmini (bots): { 54.05 64.88 73.13 } +2026-10-17T17:51:57Z thinkpad: 3.25 2.70 4.19 | macmini (bots): { 49.14 62.62 72.02 } +2026-10-17T17:52:28Z thinkpad: 2.45 2.55 4.09 | macmini (bots): { 43.72 60.06 70.77 } +2026-10-17T17:52:58Z thinkpad: 2.85 2.62 4.06 | macmini (bots): { 42.53 58.22 69.73 } +2026-10-17T17:53:28Z thinkpad: 8.44 3.97 4.46 | macmini (bots): { 45.21 57.34 69.01 } +2026-10-17T17:53:58Z thinkpad: 10.75 4.91 4.76 | macmini (bots): { 44.86 56.01 68.11 } +2026-10-17T17:54:29Z thinkpad: 8.36 4.90 4.76 | macmini (bots): { 51.73 56.60 67.91 } +2026-10-17T17:54:59Z thinkpad: 7.41 4.98 4.79 | macmini (bots): { 55.80 57.05 67.67 } +2026-10-17T17:55:29Z thinkpad: 5.45 4.73 4.71 | macmini (bots): { 50.40 55.67 66.81 } +2026-10-17T17:55:59Z thinkpad: 6.26 4.97 4.79 | macmini (bots): { 57.22 56.88 66.87 } +2026-10-17T17:56:30Z thinkpad: 8.22 5.52 4.98 | macmini (bots): { 48.94 54.86 65.78 } +2026-10-17T17:57:00Z thinkpad: 6.71 5.42 4.96 | macmini (bots): { 50.54 54.70 65.35 } +2026-10-17T17:57:30Z thinkpad: 4.94 5.14 4.89 | macmini (bots): { 58.02 56.25 65.55 } +2026-10-17T17:58:01Z thinkpad: 4.54 5.04 4.86 | macmini (bots): { 53.98 55.38 64.90 } +2026-10-17T17:58:31Z thinkpad: 4.65 5.04 4.87 | macmini (bots): { 49.96 54.23 64.16 } +2026-10-17T17:59:01Z thinkpad: 5.29 5.16 4.92 | macmini (bots): { 49.63 53.68 63.61 } +2026-10-17T17:59:31Z thinkpad: 4.23 4.94 4.85 | macmini (bots): { 57.15 55.10 63.78 } +2026-10-17T18:00:01Z thinkpad: 3.57 4.72 4.78 | macmini (bots): { 61.70 56.26 63.89 } +2026-10-17T18:00:32Z thinkpad: 3.16 4.52 4.71 | macmini (bots): { 62.10 56.86 63.79 } +2026-10-17T18:01:02Z thinkpad: 2.81 4.29 4.63 | macmini (bots): { 76.29 60.79 64.98 } +2026-10-17T18:01:32Z thinkpad: 7.77 5.26 4.93 | macmini (bots): { 75.36 62.16 65.34 } +2026-10-17T18:02:02Z thinkpad: 11.60 6.45 5.34 | macmini (bots): { 70.83 62.28 65.27 } +2026-10-17T18:02:33Z thinkpad: 11.54 6.97 5.56 | macmini (bots): { 65.66 61.87 65.01 } +2026-10-17T18:03:03Z thinkpad: 10.80 7.33 5.73 | macmini (bots): { 63.09 61.54 64.78 } +2026-10-17T18:03:33Z thinkpad: 10.52 7.56 5.85 | macmini (bots): { 60.31 61.12 64.52 } +2026-10-17T18:04:04Z thinkpad: 10.27 7.76 5.97 | macmini (bots): { 60.99 61.21 64.44 } +2026-10-17T18:04:34Z thinkpad: 8.77 7.69 6.01 | macmini (bots): { 56.72 60.19 63.96 } +2026-10-17T18:05:05Z thinkpad: 5.77 7.06 5.85 | macmini (bots): { 56.14 59.70 63.65 } +2026-10-17T18:05:35Z thinkpad: 5.16 6.79 5.80 | macmini (bots): { 51.25 58.17 62.95 } +2026-10-17T18:06:05Z thinkpad: 4.16 6.36 5.69 | macmini (bots): { 52.03 57.64 62.59 } +2026-10-17T18:06:35Z thinkpad: 4.28 6.18 5.65 | macmini (bots): { 64.66 60.00 63.27 } +2026-10-17T18:07:06Z thinkpad: 7.47 6.76 5.86 | macmini (bots): { 56.20 58.45 62.59 } +2026-10-17T18:07:36Z thinkpad: 6.95 6.74 5.89 | macmini (bots): { 51.92 57.20 62.00 } +2026-10-17T18:08:06Z thinkpad: 7.70 6.99 6.00 | macmini (bots): { 51.14 56.65 61.64 } +2026-10-17T18:08:36Z thinkpad: 5.83 6.60 5.90 | macmini (bots): { 48.08 55.33 60.98 } +2026-10-17T18:09:07Z thinkpad: 4.89 6.30 5.82 | macmini (bots): { 53.80 56.00 61.00 } +2026-10-17T18:09:37Z thinkpad: 4.93 6.19 5.80 | macmini (bots): { 60.49 57.24 61.27 } +2026-10-17T18:10:07Z thinkpad: 4.61 5.98 5.74 | macmini (bots): { 58.95 57.21 61.12 } +2026-10-17T18:10:37Z thinkpad: 4.74 5.91 5.73 | macmini (bots): { 60.84 57.65 61.13 } +2026-10-17T18:11:07Z thinkpad: 3.96 5.61 5.63 | macmini (bots): { 64.23 58.82 61.43 } +2026-10-17T18:11:38Z thinkpad: 4.16 5.53 5.61 | macmini (bots): { 75.59 62.26 62.60 } +2026-10-17T18:12:08Z thinkpad: 2.97 5.11 5.46 | macmini (bots): { 75.25 63.65 63.10 } diff --git a/benchmarks/server-2026-10-17/walk-explore.json b/benchmarks/server-2026-10-17/walk-explore.json new file mode 100644 index 0000000000..a9479f4555 --- /dev/null +++ b/benchmarks/server-2026-10-17/walk-explore.json @@ -0,0 +1,695 @@ +{ + "kind": "horizon-server-benchmark", + "date": "2026-10-17T17:31:40+00:00", + "machine": { + "system": "Linux", + "machine": "x86_64", + "cpus": 4 + }, + "commit": "7bbbf6e97fb53683eae0a01ce2c134e53cb649a7", + "java": [ + "openjdk 25.0.4.1 2026-08-18" + ], + "settings": { + "servers": "horizon,vanilla", + "bots": "1,10,25,50,100", + "behaviour": "walk,explore", + "join_every": 1.0, + "warmup": 60, + "seconds": 180, + "seed": 12345, + "explore_speed": 0, + "gamerule": "", + "heap": "4g", + "out": "/home/ludovic/code/horizon/.claude/worktrees/server-host-4/.local/bench-out/walk-explore.json", + "nice": 19, + "bots_via": "ssh macmini", + "bots_bin": "/Users/ludovicmarie/code/horizon/.claude/worktrees/server-host-4/target/release/horizon-bots", + "connect": "", + "properties": { + "level-seed": "12345", + "view-distance": "10", + "simulation-distance": "10", + "online-mode": "false", + "white-list": "false", + "gamemode": "creative", + "force-gamemode": "true", + "spawn-protection": "0", + "max-players": "200", + "difficulty": "easy", + "sync-chunk-writes": "true" + } + }, + "runs": [ + { + "server": "horizon", + "bots": 1, + "behaviour": "walk", + "start_seconds": 9.62, + "mspt": { + "average": 4.01, + "p50": 3.54, + "p95": 8.19, + "p99": 25.59 + }, + "mspt_worst_p99": 47.5, + "tps": 20.0, + "rss_mb": { + "mean": 782.52, + "max": 785.3 + }, + "cpu_percent": 58.87, + "chunks_per_second": 9.6, + "unique_per_second": 0.43, + "forgotten_per_second": 9.65, + "waited_ticks_per_second": 0.0, + "chunks_total": 2697, + "chunks_per_bot": { + "walk": 2697.0 + }, + "unique_chunks_per_bot": { + "walk": 693.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 1, + "behaviour": "walk", + "start_seconds": 14.85, + "mspt": { + "average": 18.22, + "p50": 17.99, + "p95": 29.34, + "p99": 50.06 + }, + "mspt_worst_p99": 395.5, + "tps": 20.0, + "rss_mb": { + "mean": 3429.06, + "max": 3446.3 + }, + "cpu_percent": 68.81, + "chunks_per_second": 10.47, + "unique_per_second": 0.47, + "forgotten_per_second": 10.53, + "waited_ticks_per_second": 0.0, + "chunks_total": 2755, + "chunks_per_bot": { + "walk": 2755.0 + }, + "unique_chunks_per_bot": { + "walk": 697.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 10, + "behaviour": "walk", + "start_seconds": 9.21, + "mspt": { + "average": 8.79, + "p50": 8.05, + "p95": 17.35, + "p99": 30.47 + }, + "mspt_worst_p99": 48.8, + "tps": 20.0, + "rss_mb": { + "mean": 781.88, + "max": 782.8 + }, + "cpu_percent": 119.16, + "chunks_per_second": 94.63, + "unique_per_second": 3.58, + "forgotten_per_second": 94.31, + "waited_ticks_per_second": 0.0, + "chunks_total": 26003, + "chunks_per_bot": { + "walk": 2600.3 + }, + "unique_chunks_per_bot": { + "walk": 679.9 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 10, + "behaviour": "walk", + "start_seconds": 15.14, + "mspt": { + "average": 18.67, + "p50": 15.8, + "p95": 38.26, + "p99": 55.93 + }, + "mspt_worst_p99": 101.8, + "tps": 20.0, + "rss_mb": { + "mean": 3497.35, + "max": 3499.4 + }, + "cpu_percent": 100.8, + "chunks_per_second": 101.1, + "unique_per_second": 4.38, + "forgotten_per_second": 101.15, + "waited_ticks_per_second": 0.0, + "chunks_total": 26537, + "chunks_per_bot": { + "walk": 2653.7 + }, + "unique_chunks_per_bot": { + "walk": 687.5 + }, + "resent": 0, + "pulled_back": 5, + "moved_too_quickly": 5, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 25, + "behaviour": "walk", + "start_seconds": 9.82, + "mspt": { + "average": 15.01, + "p50": 13.12, + "p95": 31.12, + "p99": 50.62 + }, + "mspt_worst_p99": 101.6, + "tps": 20.0, + "rss_mb": { + "mean": 799.52, + "max": 799.7 + }, + "cpu_percent": 161.02, + "chunks_per_second": 234.3, + "unique_per_second": 8.49, + "forgotten_per_second": 234.35, + "waited_ticks_per_second": 0.0, + "chunks_total": 65926, + "chunks_per_bot": { + "walk": 2637.04 + }, + "unique_chunks_per_bot": { + "walk": 683.96 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 25, + "behaviour": "walk", + "start_seconds": 14.95, + "mspt": { + "average": 18.78, + "p50": 17.47, + "p95": 28.16, + "p99": 51.03 + }, + "mspt_worst_p99": 107.6, + "tps": 20.0, + "rss_mb": { + "mean": 3520.17, + "max": 3573.8 + }, + "cpu_percent": 154.9, + "chunks_per_second": 252.39, + "unique_per_second": 11.89, + "forgotten_per_second": 251.75, + "waited_ticks_per_second": 0.0, + "chunks_total": 66469, + "chunks_per_bot": { + "walk": 2658.76 + }, + "unique_chunks_per_bot": { + "walk": 689.68 + }, + "resent": 0, + "pulled_back": 10, + "moved_too_quickly": 10, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 50, + "behaviour": "walk", + "start_seconds": 9.52, + "mspt": { + "average": 22.72, + "p50": 16.98, + "p95": 60.19, + "p99": 84.16 + }, + "mspt_worst_p99": 105.4, + "tps": 20.0, + "rss_mb": { + "mean": 813.5, + "max": 815.8 + }, + "cpu_percent": 179.85, + "chunks_per_second": 464.75, + "unique_per_second": 16.94, + "forgotten_per_second": 464.69, + "waited_ticks_per_second": 0.0, + "chunks_total": 134839, + "chunks_per_bot": { + "walk": 2696.78 + }, + "unique_chunks_per_bot": { + "walk": 685.48 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 50, + "behaviour": "walk", + "start_seconds": 16.36, + "mspt": { + "average": 34.3, + "p50": 31.07, + "p95": 55.55, + "p99": 92.32 + }, + "mspt_worst_p99": 452.1, + "tps": 20.0, + "rss_mb": { + "mean": 3577.02, + "max": 3611.2 + }, + "cpu_percent": 267.05, + "chunks_per_second": 496.77, + "unique_per_second": 26.74, + "forgotten_per_second": 496.2, + "waited_ticks_per_second": 0.0, + "chunks_total": 133505, + "chunks_per_bot": { + "walk": 2670.1 + }, + "unique_chunks_per_bot": { + "walk": 688.8 + }, + "resent": 0, + "pulled_back": 39, + "moved_too_quickly": 39, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 100, + "behaviour": "walk", + "start_seconds": 9.51, + "mspt": { + "average": 63.33, + "p50": 58.89, + "p95": 125.04, + "p99": 175.12 + }, + "mspt_worst_p99": 261.5, + "tps": 15.79, + "rss_mb": { + "mean": 868.12, + "max": 869.9 + }, + "cpu_percent": 245.64, + "chunks_per_second": 678.18, + "unique_per_second": 31.8, + "forgotten_per_second": 676.4, + "waited_ticks_per_second": 0.0, + "chunks_total": 219787, + "chunks_per_bot": { + "walk": 2197.87 + }, + "unique_chunks_per_bot": { + "walk": 637.91 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 100, + "bots_failed": [], + "tick_queries": 34 + }, + { + "server": "vanilla", + "bots": 100, + "behaviour": "walk", + "start_seconds": 15.14, + "error": "[Errno 32] Broken pipe" + }, + { + "server": "horizon", + "bots": 1, + "behaviour": "explore", + "start_seconds": 9.72, + "mspt": { + "average": 9.73, + "p50": 8.75, + "p95": 20.99, + "p99": 34.17 + }, + "mspt_worst_p99": 73.9, + "tps": 20.0, + "rss_mb": { + "mean": 836.18, + "max": 891.0 + }, + "cpu_percent": 329.64, + "chunks_per_second": 41.11, + "unique_per_second": 35.96, + "forgotten_per_second": 41.08, + "waited_ticks_per_second": 0.16, + "chunks_total": 9460, + "chunks_per_bot": { + "explore": 9460.0 + }, + "unique_chunks_per_bot": { + "explore": 8479.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 1, + "behaviour": "explore", + "start_seconds": 15.54, + "mspt": { + "average": 9.71, + "p50": 7.86, + "p95": 20.37, + "p99": 76.15 + }, + "mspt_worst_p99": 388.6, + "tps": 20.0, + "rss_mb": { + "mean": 3614.97, + "max": 3688.5 + }, + "cpu_percent": 247.15, + "chunks_per_second": 35.47, + "unique_per_second": 33.61, + "forgotten_per_second": 35.45, + "waited_ticks_per_second": 0.0, + "chunks_total": 7912, + "chunks_per_bot": { + "explore": 7912.0 + }, + "unique_chunks_per_bot": { + "explore": 7580.0 + }, + "resent": 0, + "pulled_back": 0, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 1, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 10, + "behaviour": "explore", + "start_seconds": 9.31, + "mspt": { + "average": 21.27, + "p50": 19.5, + "p95": 39.15, + "p99": 54.23 + }, + "mspt_worst_p99": 105.5, + "tps": 20.0, + "rss_mb": { + "mean": 1177.66, + "max": 1392.9 + }, + "cpu_percent": 321.97, + "chunks_per_second": 46.47, + "unique_per_second": 46.11, + "forgotten_per_second": 43.12, + "waited_ticks_per_second": 111.25, + "chunks_total": 14103, + "chunks_per_bot": { + "explore": 1410.3 + }, + "unique_chunks_per_bot": { + "explore": 1402.4 + }, + "resent": 0, + "pulled_back": 9856, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 10, + "behaviour": "explore", + "start_seconds": 15.24, + "mspt": { + "average": 16.94, + "p50": 14.24, + "p95": 30.28, + "p99": 109.7 + }, + "mspt_worst_p99": 1861.2, + "tps": 20.0, + "rss_mb": { + "mean": 3953.29, + "max": 4232.0 + }, + "cpu_percent": 254.11, + "chunks_per_second": 24.99, + "unique_per_second": 25.01, + "forgotten_per_second": 25.33, + "waited_ticks_per_second": 77.93, + "chunks_total": 7707, + "chunks_per_bot": { + "explore": 770.7 + }, + "unique_chunks_per_bot": { + "explore": 769.5 + }, + "resent": 0, + "pulled_back": 11123, + "moved_too_quickly": 20, + "moved_wrongly": 0, + "bots_joined": 10, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 25, + "behaviour": "explore", + "start_seconds": 9.92, + "mspt": { + "average": 25.76, + "p50": 23.58, + "p95": 45.01, + "p99": 61.43 + }, + "mspt_worst_p99": 108.8, + "tps": 20.0, + "rss_mb": { + "mean": 1172.1, + "max": 1482.3 + }, + "cpu_percent": 314.47, + "chunks_per_second": 61.38, + "unique_per_second": 60.7, + "forgotten_per_second": 55.11, + "waited_ticks_per_second": 304.54, + "chunks_total": 24085, + "chunks_per_bot": { + "explore": 963.4 + }, + "unique_chunks_per_bot": { + "explore": 954.76 + }, + "resent": 0, + "pulled_back": 31264, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 25, + "behaviour": "explore", + "start_seconds": 15.76, + "mspt": { + "average": 24.93, + "p50": 22.04, + "p95": 37.09, + "p99": 168.46 + }, + "mspt_worst_p99": 1724.8, + "tps": 20.0, + "rss_mb": { + "mean": 4040.42, + "max": 4447.6 + }, + "cpu_percent": 305.47, + "chunks_per_second": 37.91, + "unique_per_second": 37.84, + "forgotten_per_second": 38.39, + "waited_ticks_per_second": 258.66, + "chunks_total": 16865, + "chunks_per_bot": { + "explore": 674.6 + }, + "unique_chunks_per_bot": { + "explore": 671.28 + }, + "resent": 0, + "pulled_back": 33467, + "moved_too_quickly": 23, + "moved_wrongly": 0, + "bots_joined": 25, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "horizon", + "bots": 50, + "behaviour": "explore", + "start_seconds": 9.41, + "mspt": { + "average": 39.31, + "p50": 36.98, + "p95": 65.33, + "p99": 88.36 + }, + "mspt_worst_p99": 157.6, + "tps": 20.0, + "rss_mb": { + "mean": 1250.32, + "max": 1517.1 + }, + "cpu_percent": 324.77, + "chunks_per_second": 114.99, + "unique_per_second": 112.25, + "forgotten_per_second": 104.41, + "waited_ticks_per_second": 543.77, + "chunks_total": 50402, + "chunks_per_bot": { + "explore": 1008.04 + }, + "unique_chunks_per_bot": { + "explore": 997.42 + }, + "resent": 0, + "pulled_back": 64163, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 50, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 50, + "behaviour": "explore", + "start_seconds": 14.55, + "error": "[Errno 32] Broken pipe" + }, + { + "server": "horizon", + "bots": 100, + "behaviour": "explore", + "start_seconds": 9.31, + "mspt": { + "average": 52.7, + "p50": 49.49, + "p95": 85.73, + "p99": 115.34 + }, + "mspt_worst_p99": 219.0, + "tps": 18.97, + "rss_mb": { + "mean": 1358.32, + "max": 3047.2 + }, + "cpu_percent": 327.95, + "chunks_per_second": 154.2, + "unique_per_second": 151.83, + "forgotten_per_second": 141.65, + "waited_ticks_per_second": 1132.9, + "chunks_total": 84433, + "chunks_per_bot": { + "explore": 844.33 + }, + "unique_chunks_per_bot": { + "explore": 839.47 + }, + "resent": 0, + "pulled_back": 116161, + "moved_too_quickly": 0, + "moved_wrongly": 0, + "bots_joined": 100, + "bots_failed": [], + "tick_queries": 35 + }, + { + "server": "vanilla", + "bots": 100, + "behaviour": "explore", + "start_seconds": 16.47, + "error": "[Errno 32] Broken pipe" + } + ] +} diff --git a/benchmarks/server-2026-10-17/walk.json b/benchmarks/server-2026-10-17/walk.json deleted file mode 100644 index 7198b70cfd..0000000000 --- a/benchmarks/server-2026-10-17/walk.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "kind": "horizon-server-benchmark", - "date": "2026-10-17T07:50:18+00:00", - "machine": { - "system": "Darwin", - "machine": "arm64", - "cpus": 14 - }, - "commit": "123987c4591b8209cc3e7df495482298803bbd9a", - "java": [ - "openjdk 25.0.4.1 2026-08-18 LTS" - ], - "settings": { - "servers": "horizon,vanilla", - "bots": "1,10,25,50,100", - "behaviour": "walk", - "join_every": 1.0, - "warmup": 60, - "seconds": 180, - "seed": 12345, - "heap": "4g", - "out": "walk.json", - "properties": { - "level-seed": "12345", - "view-distance": "10", - "simulation-distance": "10", - "online-mode": "false", - "white-list": "false", - "gamemode": "creative", - "force-gamemode": "true", - "spawn-protection": "0", - "max-players": "200", - "difficulty": "easy", - "sync-chunk-writes": "true" - } - }, - "runs": [ - { - "server": "horizon", - "bots": 1, - "start_seconds": 22.91, - "mspt": { - "average": 4.93, - "p50": 1.72, - "p95": 23.33, - "p99": 86.25 - }, - "mspt_worst_p99": 475.7, - "tps": 20.0, - "rss_mb": { - "mean": 1628.87, - "max": 1633.1 - }, - "cpu_percent": 18.17, - "chunks_per_second": 10.48, - "bots_joined": 1, - "bots_failed": [], - "tick_queries": 33 - }, - { - "server": "vanilla", - "bots": 1, - "start_seconds": 33.89, - "mspt": { - "average": 13.41, - "p50": 9.5, - "p95": 41.09, - "p99": 84.06 - }, - "mspt_worst_p99": 208.2, - "tps": 20.0, - "rss_mb": { - "mean": 3469.62, - "max": 3486.7 - }, - "cpu_percent": 26.33, - "chunks_per_second": 10.06, - "bots_joined": 1, - "bots_failed": [], - "tick_queries": 33 - }, - { - "server": "horizon", - "bots": 10, - "start_seconds": 12.33, - "mspt": { - "average": 11.47, - "p50": 2.65, - "p95": 56.68, - "p99": 138.06 - }, - "mspt_worst_p99": 473.0, - "tps": 20.0, - "rss_mb": { - "mean": 1572.0, - "max": 1573.6 - }, - "cpu_percent": 37.64, - "chunks_per_second": 101.51, - "bots_joined": 10, - "bots_failed": [], - "tick_queries": 34 - }, - { - "server": "vanilla", - "bots": 10, - "start_seconds": 15.49, - "mspt": { - "average": 21.16, - "p50": 12.0, - "p95": 70.48, - "p99": 111.87 - }, - "mspt_worst_p99": 251.0, - "tps": 20.0, - "rss_mb": { - "mean": 3464.16, - "max": 3551.2 - }, - "cpu_percent": 49.3, - "chunks_per_second": 93.68, - "bots_joined": 10, - "bots_failed": [], - "tick_queries": 34 - }, - { - "server": "horizon", - "bots": 25, - "start_seconds": 20.8, - "mspt": { - "average": 1115.2, - "p50": 973.35, - "p95": 2720.07, - "p99": 4512.68 - }, - "mspt_worst_p99": 6442.0, - "tps": 0.9, - "rss_mb": { - "mean": 1604.66, - "max": 1616.6 - }, - "cpu_percent": 45.25, - "chunks_per_second": 200.94, - "bots_joined": 25, - "bots_failed": [], - "tick_queries": 33 - }, - { - "server": "vanilla", - "bots": 25, - "start_seconds": 29.8, - "mspt": { - "average": 38.8, - "p50": 15.39, - "p95": 147.7, - "p99": 250.31 - }, - "mspt_worst_p99": 605.5, - "tps": 20.0, - "rss_mb": { - "mean": 3581.43, - "max": 3633.0 - }, - "cpu_percent": 68.73, - "chunks_per_second": 255.15, - "bots_joined": 25, - "bots_failed": [], - "tick_queries": 33 - }, - { - "server": "horizon", - "bots": 50, - "start_seconds": 19.09, - "mspt": { - "average": 2192.19, - "p50": 365.02, - "p95": 11159.22, - "p99": 14168.57 - }, - "mspt_worst_p99": 14322.9, - "tps": 0.46, - "rss_mb": { - "mean": 1711.49, - "max": 1745.4 - }, - "cpu_percent": 23.9, - "chunks_per_second": 125.7, - "bots_joined": 50, - "bots_failed": [], - "tick_queries": 11 - }, - { - "server": "vanilla", - "bots": 50, - "start_seconds": 34.71, - "error": "[Errno 32] Broken pipe" - }, - { - "server": "horizon", - "bots": 100, - "start_seconds": 24.26, - "mspt": { - "average": 2638.4, - "p50": 407.98, - "p95": 12928.61, - "p99": 17095.1 - }, - "mspt_worst_p99": 17095.1, - "tps": 0.38, - "rss_mb": { - "mean": 1906.04, - "max": 1921.0 - }, - "cpu_percent": 45.97, - "chunks_per_second": 221.96, - "bots_joined": 100, - "bots_failed": [], - "tick_queries": 9 - }, - { - "server": "vanilla", - "bots": 100, - "start_seconds": 23.3, - "error": "[Errno 32] Broken pipe" - } - ], - "worktree_commit": "57ee531c639e1e899d63a786fd878ad9cb1c76e4" -} \ No newline at end of file