Repository navigation
Performance
- No work per pipe. Pipes do not tick. The server keeps one transport graph per dimension and resource type and only works on ports that have something to do.
- Bounded work per tick. Network rebuilds, route searches and machine accesses all have a per-tick limit (see Configuration). Big changes are spread over several ticks instead of freezing the server.
- Idle ports back off. A port that finds nothing to move waits longer and longer before it tries again (up to about 3 seconds), with a little randomness so ports do not all wake up in the same tick.
- No chunk loading. Pipster never loads chunks and never scans the world.
- Nothing is simulated on the client. Clients only render pipe shapes.
Measured on 2026-09-30 on one machine: Intel Core i7-13700H (20 threads), 32 GB RAM, Windows 11, dedicated server without other mods, Minecraft 1.21.1 (Java 21) and 26.3 (Java 25). Each scene ran 3 times: 1 minute warm-up, then 5 minutes (6000 ticks) of measurement. "p95" is the time per tick that 95 % of ticks stayed under. The ranges cover the 3 runs.
| Scene | 1.21.1 Fabric | 1.21.1 NeoForge | 26.3 Fabric | 26.3 NeoForge |
|---|---|---|---|---|
| 10,000 idle pipes | 0.007 – 0.011 ms | 0.005 – 0.013 ms | 0.006 – 0.012 ms | 0.005 – 0.009 ms |
| 10,000 pipes, 100 active ports | 1.33 – 1.38 ms | 0.81 – 1.05 ms | 1.15 – 1.36 ms | 1.07 – 1.17 ms |
| 50,000 pipes, 500 active ports | 4.95 – 5.16 ms | 4.40 – 4.59 ms | 4.32 – 4.79 ms | 3.73 – 4.10 ms |
| a 6,400-pipe network split in two | 0.008 – 0.012 ms | 0.005 – 0.010 ms | 0.005 – 0.009 ms | 0.008 – 0.014 ms |
| splitting and merging every second | 0.036 – 0.053 ms | 0.033 – 0.041 ms | 0.025 – 0.030 ms | 0.026 – 0.040 ms |
All values are Pipster's own time per tick (p95). A Minecraft tick has a budget of 50 ms. The whole server tick of 26.3 is 2 to 3 times higher than that of 1.21.1 even without Pipster; that is vanilla's own load.
These numbers apply only to this machine and these scenes. Other hardware, other mods, slow machines at the ends of pipes and very large bases change them. They are not a promise of 20 TPS.
How it was measured: each scene was set up on a fresh dedicated server without other mods. After one minute of warm-up, the time Pipster needs per tick and the time of the whole server tick were recorded. Single slow ticks (for example garbage collection) appear in the maximum, not in p95. The measurement was made with the last build before the integrations were added. Since then the transport path only gained a short diagnostic check that runs when a source hands out nothing. With a claim mod installed, each port adds one claim check every 30 seconds; that was not measured separately.
- Prefer a few busy ports over many ports that rarely have work.
- Use higher tiers instead of many parallel low-tier lines.
- Filters are cheap, but hundreds of rules on every port add up.
- If a network shows "Network too large", split it with the wrench (sneak + right-click an arm).