# Local Comparison Generated: 2026-05-28 12:08:14 +00:00 ## Environment - Repo root: - Bench executable: \target\release\deps\rpc_pressure-386f010a5bd10aaf.exe - Manifest: \Cargo.toml - Bench process exit code: unavailable in this refresh - Peak working set during local bench run: unavailable in this refresh - Peak handle count during local bench run: unavailable in this refresh ## Reference Artifact Detection - Reference projects: [Aria2-Pro-Core](https://github.com/P3TERX/Aria2-Pro-Core) and [aria2](https://github.com/aria2/aria2) - Rust CLI local executable: \target\release\aria2-rust-pro.exe - Original aria2 local executable: \dist\upstream\aria2-1.37.0-win-64bit-build1\aria2-1.37.0-win-64bit-build1\aria2c.exe - Original aria2 version summary: aria2 version 1.37.0; Enabled Features: Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC, SFTP; Compiler: mingw-w64 8.0.0 (alpha) / gcc 10-win32 20220113; built by x86_64-pc-linux-gnu; targeting x86_64-w64-mingw32; on Nov 15 2023 11:17:49 - Aria2-Pro-Core reference executable: \build\pro-core\windows-x64-mingw-30403\stage\aria2-pro-core-1.37.0+pro.20260523-windows-x64-mingw\aria2c.exe - Aria2-Pro-Core reference version summary: aria2 version 1.37.0; Enabled Features: Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC, SFTP; Compiler: mingw-w64 15.0.0 (alpha) / gcc 16.1.0; built by x86_64-w64-mingw32; on May 23 2026 15:48:03; Pro Build: 1.37.0+pro.20260523; Pro Commit: 64365cf3cdca441ab710d53be8e4ded37a9b3d7e - Comparison status: Rust local benchmarks and expanded same-host loopback HTTP comparisons were executed across Rust, the Aria2-Pro-Core reference baseline, and upstream aria2 on this Windows host. ## Same-Host Local HTTP Transfer Comparisons - Payload bytes: 8388608 - Payload SHA256: BDF23837181F5808331800C1AE2B4F7D7A839536B10D58491471C50DDE23833A ### single_file_split1 - One loopback HTTP file with split=1 and max-connection-per-server=1 | Binary | Exit code | Samples | Median | Spread | Output count | Output bytes | SHA256 all match | | --- | --- | --- | --- | --- | --- | --- | --- | | Rust CLI | 0 | 5 | 132.53 ms | 120.16 .. 138.76 ms | 1 | 8388608 | true | | Pro Core | 0 | 5 | 199.34 ms | 89.93 .. 211.04 ms | 1 | 8388608 | true | | Upstream aria2 | 0 | 5 | 181.67 ms | 172.38 .. 202.26 ms | 1 | 8388608 | true | ### segmented_single_file - One loopback HTTP file with split=4 and max-connection-per-server=4 | Binary | Exit code | Samples | Median | Spread | Output count | Output bytes | SHA256 all match | | --- | --- | --- | --- | --- | --- | --- | --- | | Rust CLI | 0 | 5 | 125.49 ms | 121.33 .. 132.76 ms | 1 | 8388608 | true | | Pro Core | 0 | 5 | 209.49 ms | 208.44 .. 1197.45 ms | 1 | 8388608 | true | | Upstream aria2 | 0 | 5 | 174.51 ms | 171.90 .. 194.46 ms | 1 | 8388608 | true | ## Rust Criterion Summary | Benchmark | Mean | 95% CI | | --- | --- | --- | | bt_visibility_pressure/bt_visibility/32 | 910.409 us | 905.654 us .. 915.190 us | | bt_visibility_pressure/bt_visibility/64 | 1.8430 ms | 1.8378 ms .. 1.8490 ms | | live_http_multi_download_contention_pressure/multi_live_http_transfer/loose_cap | 11.6320 ms | 11.5494 ms .. 11.7368 ms | | live_http_multi_download_contention_pressure/multi_live_http_transfer/tight_cap | 11.5679 ms | 11.5103 ms .. 11.6136 ms | | live_http_shared_runtime_multi_download_pressure/shared_runtime_live_http_transfer/cache_pressure_6way_256k | 7.2873 ms | 7.1368 ms .. 7.4519 ms | | live_http_shared_runtime_multi_download_pressure/shared_runtime_live_http_transfer/loose_cap | 11.8141 ms | 11.6959 ms .. 11.9347 ms | | live_http_shared_runtime_multi_download_pressure/shared_runtime_live_http_transfer/tight_cap | 11.8461 ms | 11.7319 ms .. 11.9568 ms | | live_http_shared_runtime_multi_download_pressure/shared_runtime_live_http_transfer/tight_cap_6way | 12.7498 ms | 12.6485 ms .. 12.8552 ms | | live_http_transfer_contention_pressure/live_http_transfer/loose_cap | 11.6614 ms | 11.4932 ms .. 11.8646 ms | | live_http_transfer_contention_pressure/live_http_transfer/tight_cap | 10.9603 ms | 10.8586 ms .. 11.0562 ms | | rpc_mixed_pressure/mixed_rpc/192 | 135.092 us | 134.021 us .. 136.230 us | | rpc_mixed_pressure/mixed_rpc/96 | 84.114 us | 82.923 us .. 85.222 us | | rpc_shared_runtime_fairness_pressure/shared_runtime_fairness/four_way_rebalance | 88.653 us | 87.023 us .. 90.329 us | | rpc_shared_runtime_fairness_pressure/shared_runtime_fairness/three_way_rebalance | 66.833 us | 65.539 us .. 68.357 us | | rpc_speed_limit_pressure/speed_limit/32 | 60.370 us | 59.997 us .. 60.762 us | | rpc_speed_limit_pressure/speed_limit/64 | 90.078 us | 87.568 us .. 93.803 us | | rpc_tell_status_pressure/tell_status/128 | 2.6805 ms | 2.6576 ms .. 2.7154 ms | | rpc_tell_status_pressure/tell_status/64 | 1.3265 ms | 1.3112 ms .. 1.3412 ms | | runtime_snapshot_pressure/runtime_snapshot/128 | 24.534 us | 23.895 us .. 25.183 us | | runtime_snapshot_pressure/runtime_snapshot/256 | 52.193 us | 48.362 us .. 59.051 us | | runtime_snapshot_pressure/runtime_snapshot/64 | 13.701 us | 13.281 us .. 14.100 us | | scheduler_backpressure_pressure/backpressure/128 | 33.341 us | 33.017 us .. 33.630 us | | scheduler_backpressure_pressure/backpressure/64 | 18.659 us | 18.064 us .. 19.492 us | ## Notes - This report is a local comparison anchor, not a cross-host release benchmark. - Memory evidence here is peak working set observed during the benchmark process. Peak handle count is currently only recorded when the runtime can provide it. - The same-host HTTP comparison now covers a narrow single-connection case (split=1) plus a segmented single-file case (split=4) on the same local loopback server model. - Each binary/scenario pair now performs one untimed warmup launch followed by repeated timed samples; the side-by-side table reports median elapsed plus fastest..slowest spread so single-run host noise is less likely to dominate the comparison. - The same-host driver now avoids coarse sleep quantization in its short-process timing and loopback accept path, and it keeps each scenario on one warmed loopback server/port across the timed sample set so Windows first-port cold-path stalls do not dominate the Rust rows. - Small connector-side wins such as no-proxy reqwest client reuse are still better validated through the direct `ARIA2_RUST_PRO_HTTP_TIMING` breakdown than by whole-process elapsed tables alone. - The same-host side-by-side table is strongest as a local regression anchor. Some non-Rust reference rows can still pick up host-local cold-path noise, so this report should not be treated as a precision benchmark without corroborating direct runs. - Shared-runtime multi-download pressure is still represented here through the Rust Criterion anchors rather than the side-by-side table. - The upstream Windows reference now comes from the official aria2 1.37.0 release artifact downloaded into `\dist\upstream\`.