- Host: the Linux box (Intel Xeon KVM virtual machine, 8 vCPU; Debian 13, Linux 6.12.94); the same machine as the Linux results
- Runtime: node v24.21.0 (V8), NODERAWFS (the native backend reaches the host filesystem through node's fs), working directory /tmp
- Compiler: Emscripten 6.0.13 (clang 24), Release (-O3), pthread build (
VFS_WASM_THREADS=ON,PROXY_TO_PTHREAD), 3 GiB fixed heap - How it was run:
node build-wasm/bench/vfs_bench.js --dir /tmp --csv wasm.csv --md wasm.mdfor the read and metadata scenarios; the write scenarios come fromnode build-wasm/bench/vfs_bench.js --dir /tmp --threads 1,8 --filter write(1 and 8 threads only). The write step that flushes files before each timed iteration is a no-op under WebAssembly - Note: every
base:*andvfs:nativecall goes through Emscripten's syscall layer into node's synchronous fs API, so system calls are far more expensive than on native Linux, while in-memory paths (memory backend, archive index) run as compiled code. That makes the ratios against stdio much larger than on native Linux for metadata on 1 thread; with 8 threads, the proxied calls serialize - Date: 2026-10-21 (UTC+8), default parameters (--scale 1, --iterations 3, threads 1,2,4,8,N), warm cache, Release
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 14.6k | 57 | 64.0 | 95.7 | 1.00 |
| base:fstream | 1 | 12.7k | 50 | 75.5 | 117.8 | 0.87 |
| base:posix | 1 | 15.5k | 60 | 59.6 | 93.7 | 1.06 |
| vfs:native | 1 | 11.1k | 43 | 79.9 | 166.9 | 0.76 |
| vfs:memory | 1 | 803.0k | 3137 | 1.02 | 1.79 | 54.85 |
| vfs:archive | 1 | 56.6k | 221 | 17.2 | 22.3 | 3.87 |
| vfs:archive-xor | 1 | 52.6k | 205 | 17.9 | 24.6 | 3.59 |
| vfs:archive-lz4 | 1 | 29.7k | 116 | 32.8 | 42.0 | 2.03 |
| vfs:archive+native | 1 | 24.8k | 97 | 38.1 | 57.9 | 1.69 |
| vfs:memory+archive | 1 | 56.3k | 220 | 17.2 | 22.5 | 3.85 |
| vfs:3layer | 1 | 24.4k | 95 | 39.2 | 59.9 | 1.67 |
| vfs:nested8 | 1 | 9.7k | 38 | 98.8 | 159.2 | 0.66 |
| base:stdio | 2 | 32.5k | 127 | 59.1 | 91.1 | 1.00 |
| base:fstream | 2 | 24.0k | 94 | 80.1 | 125.4 | 0.74 |
| base:posix | 2 | 33.1k | 129 | 58.1 | 84.5 | 1.02 |
| vfs:native | 2 | 25.0k | 98 | 76.5 | 138.8 | 0.77 |
| vfs:memory | 2 | 282.4k | 1103 | 6.14 | 19.2 | 8.70 |
| vfs:archive | 2 | 101.3k | 396 | 17.7 | 29.2 | 3.12 |
| vfs:archive-xor | 2 | 95.2k | 372 | 20.0 | 31.2 | 2.93 |
| vfs:archive-lz4 | 2 | 50.7k | 198 | 37.4 | 52.2 | 1.56 |
| vfs:archive+native | 2 | 58.2k | 227 | 31.7 | 57.1 | 1.79 |
| vfs:memory+archive | 2 | 102.0k | 398 | 18.9 | 26.9 | 3.14 |
| vfs:3layer | 2 | 55.0k | 215 | 35.1 | 57.1 | 1.69 |
| vfs:nested8 | 2 | 21.2k | 83 | 90.4 | 185.1 | 0.65 |
| base:stdio | 4 | 55.5k | 217 | 68.4 | 157.2 | 1.00 |
| base:fstream | 4 | 42.8k | 167 | 88.3 | 163.6 | 0.77 |
| base:posix | 4 | 56.1k | 219 | 67.6 | 107.3 | 1.01 |
| vfs:native | 4 | 44.7k | 175 | 85.0 | 177.9 | 0.81 |
| vfs:memory | 4 | 169.8k | 663 | 21.2 | 58.6 | 3.06 |
| vfs:archive | 4 | 164.4k | 642 | 21.5 | 56.1 | 2.96 |
| vfs:archive-xor | 4 | 189.9k | 742 | 17.7 | 51.5 | 3.42 |
| vfs:archive-lz4 | 4 | 80.5k | 314 | 47.1 | 89.1 | 1.45 |
| vfs:archive+native | 4 | 88.5k | 346 | 39.7 | 82.2 | 1.59 |
| vfs:memory+archive | 4 | 162.8k | 636 | 21.8 | 57.9 | 2.94 |
| vfs:3layer | 4 | 91.1k | 356 | 41.5 | 74.8 | 1.64 |
| vfs:nested8 | 4 | 35.1k | 137 | 107.8 | 240.1 | 0.63 |
| base:stdio | 8 | 62.0k | 242 | 124.2 | 217.6 | 1.00 |
| base:fstream | 8 | 48.9k | 191 | 157.4 | 276.2 | 0.79 |
| base:posix | 8 | 64.1k | 250 | 118.0 | 239.6 | 1.03 |
| vfs:native | 8 | 49.5k | 193 | 153.3 | 253.7 | 0.80 |
| vfs:memory | 8 | 139.4k | 545 | 46.3 | 186.1 | 2.25 |
| vfs:archive | 8 | 141.6k | 553 | 49.4 | 141.3 | 2.29 |
| vfs:archive-xor | 8 | 131.5k | 514 | 54.5 | 147.7 | 2.12 |
| vfs:archive-lz4 | 8 | 77.5k | 303 | 95.7 | 199.7 | 1.25 |
| vfs:archive+native | 8 | 86.9k | 339 | 88.8 | 145.4 | 1.40 |
| vfs:memory+archive | 8 | 120.3k | 470 | 59.1 | 167.4 | 1.94 |
| vfs:3layer | 8 | 76.3k | 298 | 94.0 | 537.6 | 1.23 |
| vfs:nested8 | 8 | 35.6k | 139 | 212.2 | 376.6 | 0.57 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 6.5k | 1637 | 148.2 | 174.3 | 1.00 |
| base:fstream | 1 | 865 | 216 | 1130.5 | 1458.7 | 0.13 |
| base:posix | 1 | 7.6k | 1893 | 124.2 | 330.2 | 1.16 |
| vfs:native | 1 | 6.7k | 1679 | 142.8 | 194.6 | 1.03 |
| vfs:memory | 1 | 42.9k | 10713 | 22.8 | 34.8 | 6.54 |
| vfs:archive | 1 | 8.5k | 2119 | 113.2 | 204.5 | 1.29 |
| vfs:archive-xor | 1 | 4.2k | 1048 | 229.6 | 331.5 | 0.64 |
| vfs:archive-lz4 | 1 | 6.1k | 1513 | 157.7 | 208.4 | 0.92 |
| vfs:archive+native | 1 | 9.0k | 2254 | 107.5 | 157.2 | 1.38 |
| vfs:memory+archive | 1 | 12.4k | 3110 | 77.6 | 109.3 | 1.90 |
| vfs:3layer | 1 | 9.3k | 2321 | 103.4 | 150.3 | 1.42 |
| vfs:nested8 | 1 | 4.6k | 1145 | 198.9 | 778.8 | 0.70 |
| base:stdio | 2 | 15.5k | 3878 | 121.9 | 415.7 | 1.00 |
| base:fstream | 2 | 1.6k | 410 | 1180.7 | 2818.3 | 0.11 |
| base:posix | 2 | 19.0k | 4750 | 100.4 | 140.0 | 1.22 |
| vfs:native | 2 | 13.8k | 3459 | 135.2 | 351.7 | 0.89 |
| vfs:memory | 2 | 99.9k | 24974 | 14.6 | 35.8 | 6.44 |
| vfs:archive | 2 | 27.7k | 6935 | 65.8 | 300.5 | 1.79 |
| vfs:archive-xor | 2 | 8.5k | 2120 | 230.4 | 539.1 | 0.55 |
| vfs:archive-lz4 | 2 | 11.5k | 2875 | 160.0 | 613.6 | 0.74 |
| vfs:archive+native | 2 | 22.4k | 5588 | 87.3 | 123.4 | 1.44 |
| vfs:memory+archive | 2 | 29.2k | 7311 | 65.3 | 93.2 | 1.89 |
| vfs:3layer | 2 | 23.2k | 5804 | 80.9 | 126.2 | 1.50 |
| vfs:nested8 | 2 | 12.5k | 3136 | 158.7 | 189.4 | 0.81 |
| base:stdio | 4 | 19.5k | 4884 | 192.0 | 393.2 | 1.00 |
| base:fstream | 4 | 3.1k | 782 | 1239.0 | 1833.0 | 0.16 |
| base:posix | 4 | 21.0k | 5242 | 180.5 | 851.7 | 1.07 |
| vfs:native | 4 | 19.7k | 4936 | 190.7 | 364.8 | 1.01 |
| vfs:memory | 4 | 191.1k | 47771 | 18.2 | 44.8 | 9.78 |
| vfs:archive | 4 | 28.4k | 7110 | 137.0 | 173.3 | 1.46 |
| vfs:archive-xor | 4 | 18.7k | 4684 | 205.6 | 259.6 | 0.96 |
| vfs:archive-lz4 | 4 | 21.4k | 5345 | 187.6 | 222.5 | 1.09 |
| vfs:archive+native | 4 | 22.9k | 5722 | 161.0 | 382.0 | 1.17 |
| vfs:memory+archive | 4 | 30.2k | 7560 | 125.2 | 169.7 | 1.55 |
| vfs:3layer | 4 | 23.4k | 5861 | 161.5 | 313.3 | 1.20 |
| vfs:nested8 | 4 | 17.5k | 4366 | 222.5 | 322.0 | 0.89 |
| base:stdio | 8 | 21.3k | 5332 | 352.8 | 852.7 | 1.00 |
| base:fstream | 8 | 4.1k | 1034 | 1920.5 | 2204.7 | 0.19 |
| base:posix | 8 | 22.3k | 5579 | 347.9 | 442.9 | 1.05 |
| vfs:native | 8 | 19.2k | 4796 | 404.7 | 555.3 | 0.90 |
| vfs:memory | 8 | 139.3k | 34824 | 50.2 | 151.6 | 6.53 |
| vfs:archive | 8 | 29.1k | 7279 | 273.4 | 461.8 | 1.37 |
| vfs:archive-xor | 8 | 26.2k | 6556 | 307.2 | 347.6 | 1.23 |
| vfs:archive-lz4 | 8 | 35.9k | 8971 | 213.8 | 353.0 | 1.68 |
| vfs:archive+native | 8 | 21.8k | 5461 | 357.1 | 534.5 | 1.02 |
| vfs:memory+archive | 8 | 30.0k | 7499 | 263.4 | 407.8 | 1.41 |
| vfs:3layer | 8 | 23.0k | 5760 | 330.8 | 598.5 | 1.08 |
| vfs:nested8 | 8 | 18.8k | 4706 | 414.0 | 552.4 | 0.88 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 4.8k | 4784 | 214.8 | 449.0 | 1.00 |
| base:fstream | 1 | 239 | 239 | 4124.4 | 4854.5 | 0.05 |
| base:posix | 1 | 8.4k | 8398 | 111.9 | 207.9 | 1.76 |
| vfs:native | 1 | 8.6k | 8647 | 107.0 | 204.3 | 1.81 |
| vfs:memory | 1 | 11.2k | 11162 | 83.5 | 100.1 | 2.33 |
| vfs:archive | 1 | 6.6k | 6598 | 144.4 | 317.2 | 1.38 |
| vfs:archive-xor | 1 | 1.2k | 1245 | 767.5 | 1035.5 | 0.26 |
| vfs:archive-lz4 | 1 | 1.6k | 1621 | 537.3 | 2093.3 | 0.34 |
| vfs:archive+native | 1 | 6.9k | 6943 | 129.8 | 666.9 | 1.45 |
| vfs:memory+archive | 1 | 8.0k | 8018 | 120.8 | 147.7 | 1.68 |
| vfs:3layer | 1 | 8.1k | 8091 | 122.1 | 194.0 | 1.69 |
| vfs:nested8 | 1 | 6.2k | 6164 | 145.9 | 628.5 | 1.29 |
| base:stdio | 2 | 10.4k | 10371 | 178.4 | 352.0 | 1.00 |
| base:fstream | 2 | 434 | 434 | 4565.0 | 5647.4 | 0.04 |
| base:posix | 2 | 9.5k | 9460 | 197.6 | 427.8 | 0.91 |
| vfs:native | 2 | 10.2k | 10208 | 189.7 | 267.5 | 0.98 |
| vfs:memory | 2 | 44.1k | 44080 | 41.5 | 60.2 | 4.25 |
| vfs:archive | 2 | 8.5k | 8497 | 225.5 | 480.8 | 0.82 |
| vfs:archive-xor | 2 | 2.6k | 2572 | 779.5 | 1090.6 | 0.25 |
| vfs:archive-lz4 | 2 | 3.3k | 3262 | 585.2 | 1036.8 | 0.31 |
| vfs:archive+native | 2 | 8.5k | 8532 | 214.8 | 433.7 | 0.82 |
| vfs:memory+archive | 2 | 9.9k | 9931 | 196.4 | 334.6 | 0.96 |
| vfs:3layer | 2 | 9.2k | 9222 | 207.9 | 365.1 | 0.89 |
| vfs:nested8 | 2 | 8.7k | 8669 | 215.0 | 547.3 | 0.84 |
| base:stdio | 4 | 9.8k | 9839 | 390.9 | 745.2 | 1.00 |
| base:fstream | 4 | 850 | 850 | 4651.0 | 5266.4 | 0.09 |
| base:posix | 4 | 9.9k | 9893 | 374.8 | 946.7 | 1.01 |
| vfs:native | 4 | 10.7k | 10670 | 356.9 | 789.5 | 1.08 |
| vfs:memory | 4 | 94.1k | 94127 | 36.9 | 62.7 | 9.57 |
| vfs:archive | 4 | 9.1k | 9140 | 415.7 | 804.1 | 0.93 |
| vfs:archive-xor | 4 | 4.1k | 4098 | 967.2 | 1306.9 | 0.42 |
| vfs:archive-lz4 | 4 | 6.1k | 6077 | 605.2 | 953.3 | 0.62 |
| vfs:archive+native | 4 | 9.0k | 8997 | 427.3 | 907.0 | 0.91 |
| vfs:memory+archive | 4 | 9.6k | 9650 | 407.0 | 693.0 | 0.98 |
| vfs:3layer | 4 | 9.3k | 9263 | 408.1 | 898.0 | 0.94 |
| vfs:nested8 | 4 | 9.5k | 9506 | 402.2 | 860.9 | 0.97 |
| base:stdio | 8 | 9.6k | 9633 | 824.6 | 1165.6 | 1.00 |
| base:fstream | 8 | 1.1k | 1061 | 7469.1 | 8152.8 | 0.11 |
| base:posix | 8 | 10.2k | 10193 | 752.6 | 1482.8 | 1.06 |
| vfs:native | 8 | 10.4k | 10419 | 731.9 | 1231.9 | 1.08 |
| vfs:memory | 8 | 136.0k | 135999 | 36.4 | 60.2 | 14.12 |
| vfs:archive | 8 | 10.2k | 10236 | 763.6 | 1345.5 | 1.06 |
| vfs:archive-xor | 8 | 5.7k | 5728 | 1417.0 | 1971.2 | 0.59 |
| vfs:archive-lz4 | 8 | 9.9k | 9899 | 773.6 | 1106.7 | 1.03 |
| vfs:archive+native | 8 | 9.4k | 9424 | 822.8 | 1187.3 | 0.98 |
| vfs:memory+archive | 8 | 9.7k | 9670 | 825.1 | 1219.3 | 1.00 |
| vfs:3layer | 8 | 9.6k | 9587 | 823.8 | 1140.2 | 1.00 |
| vfs:nested8 | 8 | 10.3k | 10286 | 750.1 | 1140.7 | 1.07 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 32.8k | 128 | 30.2 | 35.6 | 1.00 |
| base:fstream | 1 | 22.1k | 86 | 41.5 | 64.5 | 0.67 |
| base:posix | 1 | 63.9k | 249 | 14.1 | 21.0 | 1.95 |
| vfs:native | 1 | 33.6k | 131 | 27.9 | 36.6 | 1.02 |
| vfs:memory | 1 | 1.39M | 5432 | 0.51 | 1.02 | 42.38 |
| vfs:archive | 1 | 61.4k | 240 | 15.6 | 20.5 | 1.87 |
| vfs:archive-xor | 1 | 49.3k | 192 | 20.0 | 25.3 | 1.50 |
| vfs:archive-lz4 | 1 | 27.0k | 106 | 33.0 | 75.3 | 0.82 |
| vfs:archive+native | 1 | 61.1k | 239 | 15.9 | 20.5 | 1.86 |
| vfs:memory+archive | 1 | 64.7k | 253 | 14.6 | 20.0 | 1.97 |
| vfs:3layer | 1 | 63.0k | 246 | 14.6 | 20.5 | 1.92 |
| vfs:nested8 | 1 | 32.0k | 125 | 28.9 | 42.0 | 0.98 |
| base:stdio | 2 | 61.4k | 240 | 33.5 | 46.3 | 1.00 |
| base:fstream | 2 | 39.6k | 155 | 50.4 | 66.6 | 0.64 |
| base:posix | 2 | 114.0k | 445 | 17.2 | 26.9 | 1.86 |
| vfs:native | 2 | 57.9k | 226 | 34.0 | 46.6 | 0.94 |
| vfs:memory | 2 | 2.10M | 8203 | 0.77 | 1.28 | 34.21 |
| vfs:archive | 2 | 116.8k | 456 | 16.9 | 25.1 | 1.90 |
| vfs:archive-xor | 2 | 97.6k | 381 | 19.5 | 28.4 | 1.59 |
| vfs:archive-lz4 | 2 | 52.1k | 203 | 34.8 | 80.1 | 0.85 |
| vfs:archive+native | 2 | 111.1k | 434 | 17.9 | 26.4 | 1.81 |
| vfs:memory+archive | 2 | 117.5k | 459 | 17.2 | 26.1 | 1.91 |
| vfs:3layer | 2 | 131.1k | 512 | 15.9 | 23.8 | 2.14 |
| vfs:nested8 | 2 | 61.2k | 239 | 31.2 | 44.8 | 1.00 |
| base:stdio | 4 | 104.8k | 409 | 36.9 | 64.8 | 1.00 |
| base:fstream | 4 | 70.3k | 274 | 54.5 | 91.9 | 0.67 |
| base:posix | 4 | 231.0k | 902 | 14.8 | 35.8 | 2.20 |
| vfs:native | 4 | 112.5k | 440 | 33.8 | 64.5 | 1.07 |
| vfs:memory | 4 | 1.78M | 6949 | 1.54 | 12.0 | 16.98 |
| vfs:archive | 4 | 219.0k | 856 | 15.9 | 37.1 | 2.09 |
| vfs:archive-xor | 4 | 186.8k | 730 | 20.5 | 37.1 | 1.78 |
| vfs:archive-lz4 | 4 | 96.5k | 377 | 37.4 | 87.3 | 0.92 |
| vfs:archive+native | 4 | 228.3k | 892 | 15.4 | 35.8 | 2.18 |
| vfs:memory+archive | 4 | 244.7k | 956 | 13.6 | 34.8 | 2.34 |
| vfs:3layer | 4 | 259.3k | 1013 | 12.8 | 33.3 | 2.47 |
| vfs:nested8 | 4 | 103.4k | 404 | 37.4 | 68.1 | 0.99 |
| base:stdio | 8 | 135.7k | 530 | 56.6 | 103.2 | 1.00 |
| base:fstream | 8 | 86.8k | 339 | 89.1 | 154.1 | 0.64 |
| base:posix | 8 | 292.8k | 1144 | 25.3 | 51.5 | 2.16 |
| vfs:native | 8 | 138.6k | 541 | 54.8 | 102.4 | 1.02 |
| vfs:memory | 8 | 1.34M | 5253 | 2.82 | 56.3 | 9.91 |
| vfs:archive | 8 | 283.4k | 1107 | 26.1 | 54.5 | 2.09 |
| vfs:archive-xor | 8 | 262.7k | 1026 | 29.2 | 53.2 | 1.94 |
| vfs:archive-lz4 | 8 | 172.1k | 672 | 41.0 | 106.2 | 1.27 |
| vfs:archive+native | 8 | 296.3k | 1157 | 25.9 | 49.4 | 2.18 |
| vfs:memory+archive | 8 | 296.5k | 1158 | 24.3 | 52.7 | 2.19 |
| vfs:3layer | 8 | 303.8k | 1187 | 24.3 | 49.9 | 2.24 |
| vfs:nested8 | 8 | 138.9k | 542 | 54.3 | 106.0 | 1.02 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 28.4k | - | 33.0 | 44.0 | 1.00 |
| base:fstream | 1 | 27.7k | - | 34.6 | 47.4 | 0.98 |
| base:posix | 1 | 27.9k | - | 34.3 | 46.8 | 0.98 |
| vfs:native | 1 | 18.7k | - | 50.7 | 68.1 | 0.66 |
| vfs:memory | 1 | 1.04M | - | 0.77 | 1.79 | 36.67 |
| vfs:archive | 1 | 1.27M | - | 0.51 | 1.02 | 44.85 |
| vfs:archive-xor | 1 | 1.29M | - | 0.51 | 1.28 | 45.59 |
| vfs:archive-lz4 | 1 | 1.33M | - | 0.51 | 1.02 | 46.83 |
| vfs:archive+native | 1 | 42.2k | - | 22.5 | 29.7 | 1.49 |
| vfs:memory+archive | 1 | 1.07M | - | 0.77 | 1.28 | 37.64 |
| vfs:3layer | 1 | 42.7k | - | 22.3 | 29.7 | 1.51 |
| vfs:nested8 | 1 | 13.6k | - | 70.4 | 95.0 | 0.48 |
| base:stdio | 2 | 60.8k | - | 31.5 | 51.2 | 1.00 |
| base:fstream | 2 | 63.6k | - | 30.5 | 46.6 | 1.05 |
| base:posix | 2 | 62.7k | - | 30.0 | 46.3 | 1.03 |
| vfs:native | 2 | 42.1k | - | 47.1 | 73.0 | 0.69 |
| vfs:memory | 2 | 285.6k | - | 6.40 | 20.2 | 4.70 |
| vfs:archive | 2 | 303.3k | - | 6.14 | 20.0 | 4.99 |
| vfs:archive-xor | 2 | 300.1k | - | 6.14 | 20.2 | 4.94 |
| vfs:archive-lz4 | 2 | 302.8k | - | 6.14 | 19.7 | 4.98 |
| vfs:archive+native | 2 | 112.9k | - | 15.9 | 30.7 | 1.86 |
| vfs:memory+archive | 2 | 269.4k | - | 6.91 | 20.2 | 4.43 |
| vfs:3layer | 2 | 112.3k | - | 16.1 | 26.9 | 1.85 |
| vfs:nested8 | 2 | 28.7k | - | 67.1 | 100.4 | 0.47 |
| base:stdio | 4 | 86.9k | - | 44.0 | 73.0 | 1.00 |
| base:fstream | 4 | 85.0k | - | 45.3 | 73.2 | 0.98 |
| base:posix | 4 | 90.9k | - | 41.2 | 69.4 | 1.05 |
| vfs:native | 4 | 58.7k | - | 64.3 | 108.5 | 0.68 |
| vfs:memory | 4 | 188.0k | - | 18.2 | 63.5 | 2.16 |
| vfs:archive | 4 | 192.9k | - | 18.2 | 59.9 | 2.22 |
| vfs:archive-xor | 4 | 198.1k | - | 17.2 | 60.7 | 2.28 |
| vfs:archive-lz4 | 4 | 190.0k | - | 18.4 | 60.7 | 2.19 |
| vfs:archive+native | 4 | 114.7k | - | 32.3 | 54.0 | 1.32 |
| vfs:memory+archive | 4 | 160.2k | - | 22.0 | 67.6 | 1.84 |
| vfs:3layer | 4 | 110.2k | - | 32.8 | 57.6 | 1.27 |
| vfs:nested8 | 4 | 41.0k | - | 89.3 | 154.1 | 0.47 |
| base:stdio | 8 | 114.9k | - | 67.3 | 104.7 | 1.00 |
| base:fstream | 8 | 109.6k | - | 71.2 | 108.3 | 0.95 |
| base:posix | 8 | 113.1k | - | 67.6 | 105.7 | 0.98 |
| vfs:native | 8 | 73.6k | - | 104.4 | 190.7 | 0.64 |
| vfs:memory | 8 | 143.5k | - | 47.4 | 178.2 | 1.25 |
| vfs:archive | 8 | 151.0k | - | 44.0 | 172.3 | 1.31 |
| vfs:archive-xor | 8 | 146.4k | - | 46.1 | 175.4 | 1.27 |
| vfs:archive-lz4 | 8 | 143.8k | - | 47.1 | 176.4 | 1.25 |
| vfs:archive+native | 8 | 110.7k | - | 67.3 | 152.8 | 0.96 |
| vfs:memory+archive | 8 | 127.2k | - | 53.5 | 193.8 | 1.11 |
| vfs:3layer | 8 | 109.4k | - | 66.6 | 164.1 | 0.95 |
| vfs:nested8 | 8 | 44.9k | - | 164.6 | 335.6 | 0.39 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 25.8k | - | 34.0 | 77.1 | 1.00 |
| vfs:native | 1 | 51.2k | - | 18.2 | 26.6 | 1.98 |
| vfs:memory | 1 | 1.07M | - | 0.77 | 1.79 | 41.57 |
| vfs:archive | 1 | 1.50M | - | 0.51 | 0.77 | 58.27 |
| vfs:archive-xor | 1 | 1.56M | - | 0.51 | 0.77 | 60.53 |
| vfs:archive-lz4 | 1 | 1.54M | - | 0.51 | 1.02 | 59.55 |
| vfs:archive+native | 1 | 41.5k | - | 22.5 | 32.3 | 1.61 |
| vfs:memory+archive | 1 | 1.40M | - | 0.51 | 0.77 | 54.15 |
| vfs:3layer | 1 | 41.1k | - | 22.5 | 32.8 | 1.59 |
| vfs:nested8 | 1 | 48.5k | - | 19.5 | 27.4 | 1.88 |
| base:stdio | 2 | 82.8k | - | 21.0 | 53.2 | 1.00 |
| vfs:native | 2 | 130.1k | - | 14.1 | 30.0 | 1.57 |
| vfs:memory | 2 | 393.5k | - | 4.61 | 15.4 | 4.75 |
| vfs:archive | 2 | 424.1k | - | 4.10 | 15.9 | 5.12 |
| vfs:archive-xor | 2 | 408.5k | - | 4.35 | 16.9 | 4.93 |
| vfs:archive-lz4 | 2 | 409.3k | - | 4.10 | 17.2 | 4.94 |
| vfs:archive+native | 2 | 112.4k | - | 16.4 | 29.2 | 1.36 |
| vfs:memory+archive | 2 | 336.8k | - | 5.89 | 17.2 | 4.07 |
| vfs:3layer | 2 | 109.3k | - | 16.4 | 31.5 | 1.32 |
| vfs:nested8 | 2 | 100.9k | - | 19.2 | 33.0 | 1.22 |
| base:stdio | 4 | 94.2k | - | 39.2 | 98.6 | 1.00 |
| vfs:native | 4 | 180.1k | - | 20.0 | 48.1 | 1.91 |
| vfs:memory | 4 | 231.8k | - | 14.1 | 54.8 | 2.46 |
| vfs:archive | 4 | 248.9k | - | 12.8 | 53.8 | 2.64 |
| vfs:archive-xor | 4 | 238.2k | - | 13.8 | 54.5 | 2.53 |
| vfs:archive-lz4 | 4 | 240.6k | - | 13.3 | 56.3 | 2.55 |
| vfs:archive+native | 4 | 113.0k | - | 32.0 | 60.2 | 1.20 |
| vfs:memory+archive | 4 | 210.8k | - | 15.9 | 58.4 | 2.24 |
| vfs:3layer | 4 | 112.8k | - | 31.7 | 58.9 | 1.20 |
| vfs:nested8 | 4 | 121.8k | - | 26.9 | 82.9 | 1.29 |
| base:stdio | 8 | 96.8k | - | 77.1 | 167.2 | 1.00 |
| vfs:native | 8 | 151.9k | - | 42.0 | 119.0 | 1.57 |
| vfs:memory | 8 | 182.4k | - | 33.8 | 153.1 | 1.88 |
| vfs:archive | 8 | 196.9k | - | 28.7 | 146.7 | 2.03 |
| vfs:archive-xor | 8 | 188.8k | - | 32.8 | 150.8 | 1.95 |
| vfs:archive-lz4 | 8 | 195.6k | - | 29.7 | 151.8 | 2.02 |
| vfs:archive+native | 8 | 113.1k | - | 63.2 | 131.6 | 1.17 |
| vfs:memory+archive | 8 | 160.9k | - | 41.0 | 166.9 | 1.66 |
| vfs:3layer | 8 | 114.6k | - | 63.7 | 129.8 | 1.18 |
| vfs:nested8 | 8 | 77.9k | - | 94.5 | 231.2 | 0.80 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 42.9k | - | 21.5 | 31.0 | 1.00 |
| vfs:native | 1 | 41.6k | - | 22.3 | 36.4 | 0.97 |
| vfs:memory | 1 | 1.15M | - | 0.77 | 1.28 | 26.88 |
| vfs:archive | 1 | 1.17M | - | 0.77 | 1.28 | 27.26 |
| vfs:archive-xor | 1 | 1.15M | - | 0.77 | 1.02 | 26.89 |
| vfs:archive-lz4 | 1 | 1.18M | - | 0.77 | 1.02 | 27.55 |
| vfs:archive+native | 1 | 42.9k | - | 21.8 | 31.7 | 1.00 |
| vfs:memory+archive | 1 | 1.17M | - | 0.77 | 1.02 | 27.27 |
| vfs:3layer | 1 | 42.5k | - | 22.0 | 31.0 | 0.99 |
| vfs:nested8 | 1 | 39.9k | - | 23.3 | 33.0 | 0.93 |
| base:stdio | 2 | 111.5k | - | 17.2 | 27.4 | 1.00 |
| vfs:native | 2 | 110.3k | - | 16.6 | 32.0 | 0.99 |
| vfs:memory | 2 | 355.8k | - | 5.12 | 16.1 | 3.19 |
| vfs:archive | 2 | 362.9k | - | 4.86 | 17.7 | 3.26 |
| vfs:archive-xor | 2 | 346.7k | - | 5.12 | 18.2 | 3.11 |
| vfs:archive-lz4 | 2 | 336.7k | - | 5.38 | 18.7 | 3.02 |
| vfs:archive+native | 2 | 112.2k | - | 16.4 | 27.9 | 1.01 |
| vfs:memory+archive | 2 | 307.2k | - | 6.14 | 17.9 | 2.76 |
| vfs:3layer | 2 | 110.3k | - | 16.4 | 32.3 | 0.99 |
| vfs:nested8 | 2 | 105.1k | - | 16.6 | 34.6 | 0.94 |
| base:stdio | 4 | 104.0k | - | 34.8 | 67.1 | 1.00 |
| vfs:native | 4 | 111.3k | - | 32.0 | 69.1 | 1.07 |
| vfs:memory | 4 | 207.7k | - | 16.1 | 56.1 | 2.00 |
| vfs:archive | 4 | 209.5k | - | 16.1 | 60.4 | 2.01 |
| vfs:archive-xor | 4 | 206.1k | - | 16.4 | 59.1 | 1.98 |
| vfs:archive-lz4 | 4 | 214.4k | - | 15.4 | 58.4 | 2.06 |
| vfs:archive+native | 4 | 113.2k | - | 31.5 | 60.2 | 1.09 |
| vfs:memory+archive | 4 | 186.6k | - | 18.2 | 64.3 | 1.79 |
| vfs:3layer | 4 | 113.2k | - | 31.2 | 62.7 | 1.09 |
| vfs:nested8 | 4 | 105.8k | - | 32.8 | 69.4 | 1.02 |
| base:stdio | 8 | 112.0k | - | 64.5 | 145.9 | 1.00 |
| vfs:native | 8 | 108.2k | - | 69.1 | 132.6 | 0.97 |
| vfs:memory | 8 | 156.0k | - | 43.3 | 163.8 | 1.39 |
| vfs:archive | 8 | 164.1k | - | 39.2 | 164.4 | 1.46 |
| vfs:archive-xor | 8 | 164.3k | - | 39.4 | 164.6 | 1.47 |
| vfs:archive-lz4 | 8 | 161.6k | - | 41.0 | 164.4 | 1.44 |
| vfs:archive+native | 8 | 111.9k | - | 67.3 | 134.7 | 1.00 |
| vfs:memory+archive | 8 | 140.8k | - | 47.1 | 184.3 | 1.26 |
| vfs:3layer | 8 | 111.0k | - | 64.3 | 136.4 | 0.99 |
| vfs:nested8 | 8 | 107.1k | - | 67.6 | 184.3 | 0.96 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 24 | - | 42939.9 | 45545.7 | 1.00 |
| vfs:native | 1 | 22 | - | 46066.9 | 49200.1 | 0.92 |
| vfs:memory | 1 | 397 | - | 2464.0 | 2786.0 | 16.79 |
| vfs:archive | 1 | 496 | - | 2121.5 | 2159.1 | 20.98 |
| vfs:archive-xor | 1 | 550 | - | 1771.8 | 1918.7 | 23.25 |
| vfs:archive-lz4 | 1 | 540 | - | 1786.9 | 2041.1 | 22.85 |
| vfs:archive+native | 1 | 464 | - | 2073.3 | 2692.1 | 19.61 |
| vfs:memory+archive | 1 | 547 | - | 1761.5 | 2001.2 | 23.11 |
| vfs:3layer | 1 | 493 | - | 1999.4 | 2178.0 | 20.85 |
| vfs:nested8 | 1 | 22 | - | 46273.3 | 49713.4 | 0.92 |
| base:stdio | 2 | 44 | - | 46246.7 | 48511.0 | 1.00 |
| vfs:native | 2 | 40 | - | 49246.5 | 56495.6 | 0.92 |
| vfs:memory | 2 | 85 | - | 23591.2 | 25261.6 | 1.94 |
| vfs:archive | 2 | 124 | - | 17029.6 | 17728.5 | 2.84 |
| vfs:archive-xor | 2 | 125 | - | 16120.6 | 17657.1 | 2.86 |
| vfs:archive-lz4 | 2 | 130 | - | 15738.6 | 17343.5 | 2.96 |
| vfs:archive+native | 2 | 125 | - | 16126.7 | 17068.0 | 2.86 |
| vfs:memory+archive | 2 | 128 | - | 15920.6 | 17539.1 | 2.93 |
| vfs:3layer | 2 | 128 | - | 15669.5 | 16292.9 | 2.92 |
| vfs:nested8 | 2 | 38 | - | 53287.4 | 59259.1 | 0.87 |
| base:stdio | 4 | 42 | - | 96577.5 | 104547.6 | 1.00 |
| vfs:native | 4 | 35 | - | 113378.3 | 126839.8 | 0.85 |
| vfs:memory | 4 | 49 | - | 82833.2 | 96534.3 | 1.18 |
| vfs:archive | 4 | 75 | - | 53851.4 | 61253.4 | 1.80 |
| vfs:archive-xor | 4 | 74 | - | 55241.0 | 67603.7 | 1.77 |
| vfs:archive-lz4 | 4 | 72 | - | 56395.8 | 67222.0 | 1.73 |
| vfs:archive+native | 4 | 73 | - | 55401.5 | 62967.3 | 1.75 |
| vfs:memory+archive | 4 | 70 | - | 56973.8 | 66841.3 | 1.69 |
| vfs:3layer | 4 | 78 | - | 57041.2 | 66619.6 | 1.86 |
| vfs:nested8 | 4 | 34 | - | 118048.3 | 125229.6 | 0.82 |
| base:stdio | 8 | 44 | - | 183359.0 | 192955.4 | 1.00 |
| vfs:native | 8 | 24 | - | 333258.2 | 396842.2 | 0.56 |
| vfs:memory | 8 | 45 | - | 175721.0 | 214208.5 | 1.04 |
| vfs:archive | 8 | 69 | - | 118391.0 | 173247.5 | 1.58 |
| vfs:archive-xor | 8 | 49 | - | 168900.9 | 310854.4 | 1.12 |
| vfs:archive-lz4 | 8 | 34 | - | 237489.9 | 277762.0 | 0.79 |
| vfs:archive+native | 8 | 43 | - | 195017.5 | 241641.0 | 0.99 |
| vfs:memory+archive | 8 | 48 | - | 165646.8 | 201342.2 | 1.11 |
| vfs:3layer | 8 | 48 | - | 166483.7 | 201525.2 | 1.09 |
| vfs:nested8 | 8 | 21 | - | 363501.1 | 499138.0 | 0.48 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 5.8k | 364 | 158.7 | 356.6 | 1.00 |
| base:fstream | 1 | 6.5k | 406 | 134.4 | 467.5 | 1.12 |
| base:posix | 1 | 7.5k | 470 | 118.5 | 314.4 | 1.29 |
| vfs:native | 1 | 3.6k | 224 | 265.5 | 497.9 | 0.61 |
| vfs:memory | 1 | 70.0k | 4373 | 12.3 | 25.9 | 12.03 |
| vfs:memory+archive | 1 | 74.3k | 4641 | 12.0 | 36.1 | 12.77 |
| base:stdio | 8 | 15.4k | 965 | 491.5 | 798.0 | 1.00 |
| base:fstream | 8 | 15.9k | 995 | 471.3 | 914.4 | 1.03 |
| base:posix | 8 | 11.5k | 720 | 651.3 | 1333.0 | 0.75 |
| vfs:native | 8 | 8.0k | 503 | 883.7 | 2030.3 | 0.52 |
| vfs:memory | 8 | 54.7k | 3421 | 140.3 | 242.7 | 3.55 |
| vfs:memory+archive | 8 | 45.5k | 2842 | 170.0 | 314.6 | 2.95 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 6.7k | - | 138.2 | 257.3 | 1.00 |
| base:fstream | 1 | 6.5k | - | 144.6 | 268.0 | 0.96 |
| base:posix | 1 | 7.5k | - | 128.5 | 229.1 | 1.12 |
| vfs:native | 1 | 2.8k | - | 353.8 | 636.2 | 0.41 |
| vfs:memory | 1 | 208.6k | - | 4.10 | 6.40 | 30.92 |
| vfs:memory+archive | 1 | 200.6k | - | 4.10 | 6.91 | 29.75 |
| base:stdio | 8 | 19.8k | - | 371.7 | 707.1 | 1.00 |
| base:fstream | 8 | 20.2k | - | 366.6 | 654.3 | 1.02 |
| base:posix | 8 | 22.7k | - | 324.4 | 637.7 | 1.15 |
| vfs:native | 8 | 8.5k | - | 874.2 | 1734.4 | 0.43 |
| vfs:memory | 8 | 32.6k | - | 216.6 | 373.8 | 1.65 |
| vfs:memory+archive | 8 | 27.9k | - | 257.3 | 420.6 | 1.41 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 1.7k | 1708 | 571.6 | 936.2 | 1.00 |
| base:posix | 1 | 2.1k | 2147 | 454.1 | 641.3 | 1.26 |
| vfs:native | 1 | 2.1k | 2102 | 451.1 | 705.3 | 1.23 |
| vfs:memory | 1 | 3.9k | 3884 | 123.6 | 4512.5 | 2.27 |
| vfs:memory+archive | 1 | 4.2k | 4166 | 117.0 | 4184.3 | 2.44 |
| base:stdio | 8 | 1.7k | 1676 | 3588.9 | 9770.5 | 1.00 |
| base:posix | 8 | 2.1k | 2137 | 3186.2 | 9970.9 | 1.28 |
| vfs:native | 8 | 2.2k | 2188 | 3321.3 | 5799.9 | 1.31 |
| vfs:memory | 8 | 15.7k | 15740 | 160.5 | 5365.5 | 9.39 |
| vfs:memory+archive | 8 | 22.2k | 22230 | 161.8 | 5754.1 | 13.26 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 21.0k | 82 | 46.3 | 69.4 | 1.00 |
| base:posix | 1 | 40.2k | 157 | 23.3 | 43.0 | 1.92 |
| vfs:native | 1 | 21.7k | 85 | 43.5 | 72.4 | 1.03 |
| vfs:memory | 1 | 693.3k | 2708 | 1.02 | 1.79 | 33.05 |
| vfs:memory+archive | 1 | 681.3k | 2661 | 1.02 | 1.79 | 32.47 |
| base:stdio | 8 | 82.3k | 322 | 92.2 | 179.2 | 1.00 |
| base:posix | 8 | 140.1k | 547 | 54.5 | 86.3 | 1.70 |
| vfs:native | 8 | 83.3k | 326 | 88.6 | 241.9 | 1.01 |
| vfs:memory | 8 | 4.20M | 16416 | 1.02 | 2.05 | 51.04 |
| vfs:memory+archive | 8 | 4.11M | 16070 | 1.28 | 2.05 | 49.97 |
| target | threads | ops/s | MiB/s | p50 (µs) | p99 (µs) | vs stdio |
|---|---|---|---|---|---|---|
| base:stdio | 1 | 32.4k | 127 | 29.8 | 60.5 | 1.00 |
| base:posix | 1 | 32.6k | 127 | 29.2 | 48.1 | 1.01 |
| vfs:native | 1 | 30.2k | 118 | 31.6 | 55.5 | 0.93 |
| vfs:memory | 1 | 833.3k | 3255 | 0.83 | 10.6 | 25.68 |
| vfs:memory+archive | 1 | 855.2k | 3340 | 0.78 | 9.78 | 26.35 |
| base:stdio | 8 | 111.5k | 435 | 68.5 | 97.6 | 1.00 |
| base:posix | 8 | 111.5k | 436 | 72.3 | 94.9 | 1.00 |
| vfs:native | 8 | 103.3k | 404 | 74.2 | 135.4 | 0.93 |
| vfs:memory | 8 | 1.38M | 5381 | 4.48 | 22.2 | 12.36 |
| vfs:memory+archive | 8 | 1.25M | 4877 | 4.96 | 23.7 | 11.20 |