Skip to content

网络端点性能对照

查看 Markdown

比较 v0.2.0 与加入原生操作排空和回调释放等待的实现。64 组配置中,两个版本各启动三个独立进程测量,共 384 轮;请求失败、内容错误与排空超时均为零。

5 秒负载对照包含 WebSocket、TCP 与 HTTP 的独立五轮测量。

CPU 为同进程客户端与服务端合计,单核满载为 100%;RT 为单消息往返时间。双方使用同一份驱动。

环境项 记录值
机器 Mac mini (Mac16,11) · arm64
CPU Apple M4 Pro · 14 物理核 / 14 逻辑核 (系统 CPU 数 14)
内存 48 GiB
操作系统 macOS 27.0.1 · 构建 26A434
编译器 Apple clang version 21.0.0 (clang-2100.3.34.2) · gnu++20
编译配置 Release · -O3 -DNDEBUG
依赖 Boost 1.90 · Standalone Asio 1.38.2 · OpenSSL 3.6.4 25 Aug 2026 (Library: OpenSSL 3.6.4 25 Aug 2026)
构建工具 CMake 4.3.3 · Ninja 1.13.2
服务端 同进程本地端点,版本对应各自库提交
测量区间(UTC) 2026-10-15T19:07:59Z → 2026-10-15T19:18:36Z
预热 / 测量 0.25 s / 1 s × 3 独立进程
API / IO 公开 arknet 端点回调 · 1 个 io_context,1 / 4 个工作线程
CPU 统计范围 同进程客户端 + 服务端,测量阶段及收尾;单核满载为 100%

v0.2.0 基准库: 25fe2e5fac4e09edee597f312d58b0362b9e0681 · 候选库: 2aa5bc0ef7d383d8cfbc04520f3b952fa27c5fbd

loopback.cpp SHA256: 1749828c0388136bb7cea4559303c0f59b4d5d3833280e9e52ecb0bee41d17c8

TCP · Boost.Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

TCP · Boost.Asio · 吞吐量 · 往返/秒

TCP · Boost.Asio · CPU 占用 · %

P50 与 P99 响应时间

TCP · Boost.Asio · P50 响应时间 · µs

TCP · Boost.Asio · P99 响应时间 · µs

图示 8 组的吞吐量比值变化中位数:-2.34%。计算均为每组比值的中位数,不是合并总吞吐量。

TLS TCP · Boost.Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

吞吐量、CPU 与响应时间

TLS TCP · Boost.Asio · 吞吐量 · 往返/秒

TLS TCP · Boost.Asio · P50 响应时间 · µs

TLS TCP · Boost.Asio · P99 响应时间 · µs

TLS TCP · Boost.Asio · CPU 占用 · %

图示 8 组的吞吐量比值变化中位数:-0.8%。计算均为每组比值的中位数,不是合并总吞吐量。

HTTP/1.1 · Boost.Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

吞吐量、CPU 与响应时间

HTTP/1.1 · Boost.Asio · 吞吐量 · 往返/秒

HTTP/1.1 · Boost.Asio · P50 响应时间 · µs

HTTP/1.1 · Boost.Asio · P99 响应时间 · µs

HTTP/1.1 · Boost.Asio · CPU 占用 · %

图示 8 组的吞吐量比值变化中位数:-1.44%。计算均为每组比值的中位数,不是合并总吞吐量。

HTTPS · Boost.Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

吞吐量、CPU 与响应时间

HTTPS · Boost.Asio · 吞吐量 · 往返/秒

HTTPS · Boost.Asio · P50 响应时间 · µs

HTTPS · Boost.Asio · P99 响应时间 · µs

HTTPS · Boost.Asio · CPU 占用 · %

图示 8 组的吞吐量比值变化中位数:-1.82%。计算均为每组比值的中位数,不是合并总吞吐量。

WebSocket · Boost.Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

吞吐量、CPU 与响应时间

WebSocket · Boost.Asio · 吞吐量 · 往返/秒

WebSocket · Boost.Asio · P50 响应时间 · µs

WebSocket · Boost.Asio · P99 响应时间 · µs

WebSocket · Boost.Asio · CPU 占用 · %

图示 8 组的吞吐量比值变化中位数:-3.02%。计算均为每组比值的中位数,不是合并总吞吐量。

TLS WebSocket · Boost.Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

吞吐量、CPU 与响应时间

TLS WebSocket · Boost.Asio · 吞吐量 · 往返/秒

TLS WebSocket · Boost.Asio · P50 响应时间 · µs

TLS WebSocket · Boost.Asio · P99 响应时间 · µs

TLS WebSocket · Boost.Asio · CPU 占用 · %

图示 8 组的吞吐量比值变化中位数:0.15%。计算均为每组比值的中位数,不是合并总吞吐量。

TCP · Standalone Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

吞吐量、CPU 与响应时间

TCP · Standalone Asio · 吞吐量 · 往返/秒

TCP · Standalone Asio · P50 响应时间 · µs

TCP · Standalone Asio · P99 响应时间 · µs

TCP · Standalone Asio · CPU 占用 · %

图示 8 组的吞吐量比值变化中位数:-0.5%。计算均为每组比值的中位数,不是合并总吞吐量。

TLS TCP · Standalone Asio

16 条连接 · 64 B / 4096 B · 在途 1 / 16 · 1 个 io_context,1 / 4 个线程

吞吐量、CPU 与响应时间

TLS TCP · Standalone Asio · 吞吐量 · 往返/秒

TLS TCP · Standalone Asio · P50 响应时间 · µs

TLS TCP · Standalone Asio · P99 响应时间 · µs

TLS TCP · Standalone Asio · CPU 占用 · %

图示 8 组的吞吐量比值变化中位数:-0.31%。计算均为每组比值的中位数,不是合并总吞吐量。

全量数据(中位数 [最小值—最大值])
参数 吞吐/秒: 基准库 → 候选库 P50 µs: 基准库 → 候选库 P99 µs: 基准库 → 候选库 CPU%: 基准库 → 候选库 RSS MiB: 基准库 → 候选库
HTTP/1.1 · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 1 111,038.06 [110,277.54–111,425.45] → 109,593.61 [106,131.93–110,672.49] 142.29 [141.79–143.29] → 143.88 [143.75–144.13] 151.38 [150.71–153.04] → 157 [153.13–272.08] 99 [99–99.01] → 98.99 [97.68–99.98] 10.33 [10.3–10.34] → 10.45 [10.45–10.52]
HTTP/1.1 · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 4 172,991.57 [172,433.35–178,101.66] → 173,247.32 [168,544.06–173,429.12] 90.25 [88.63–91] → 90.25 [90.25–91.13] 114.96 [113.58–137.25] → 129.83 [123.5–158.25] 373.58 [373.02–380.38] → 376.96 [374.59–377.85] 10.47 [10.44–10.56] → 10.66 [10.58–10.7]
HTTP/1.1 · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 1 150,967.01 [147,666.92–151,043.91] → 148,575.84 [147,050.84–150,345.31] 1,691.67 [1,673.63–1,704.71] → 1,718.71 [1,697.33–1,720.96] 1,847.88 [1,811.08–2,249.83] → 1,852.04 [1,814–1,930.5] 99.02 [98.98–99.92] → 99.86 [99.02–99.92] 10.45 [10.38–10.52] → 10.61 [10.55–10.61]
HTTP/1.1 · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 4 224,341.11 [211,869.32–232,089.43] → 210,165.68 [206,564.62–225,010.04] 1,139.38 [1,098.83–1,191.88] → 1,203.38 [1,123.5–1,221.29] 1,275 [1,248.54–1,356.42] → 1,340.96 [1,252.71–1,451.92] 372.66 [360.4–374.17] → 361.9 [361.85–371.23] 10.58 [10.58–10.63] → 10.73 [10.66–10.83]
HTTP/1.1 · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 44,872.03 [44,209.17–45,035.98] → 43,768.74 [43,465.88–45,017.15] 352.42 [342.67–354.08] → 362.13 [342.71–364.08] 386.71 [377.67–390.67] → 387.5 [380.71–391.54] 81.4 [79.17–82.6] → 79.52 [79.01–84] 10.7 [10.63–10.72] → 10.75 [10.63–10.75]
HTTP/1.1 · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 101,296.44 [99,313.58–101,556.54] → 100,317.96 [100,046.97–103,183.71] 152.75 [151.96–152.96] → 153.63 [151.17–154.04] 225.58 [215.54–244.33] → 196.54 [183.79–198.92] 376.15 [375.45–380.2] → 376.66 [376.33–382.3] 10.83 [10.81–10.89] → 10.78 [10.75–10.91]
HTTP/1.1 · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 55,961.68 [53,749.6–56,294.13] → 52,650.05 [52,600.07–52,962.24] 4,541.08 [4,533.25–4,787.79] → 4,811.75 [4,794.33–4,825.75] 4,685.46 [4,627.25–5,082.04] → 5,095.29 [4,925.96–5,113.29] 87.37 [83.19–88.07] → 82.02 [81.92–82.27] 13.34 [13.33–13.41] → 13.5 [13.5–13.52]
HTTP/1.1 · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 110,034.99 [108,249.82–113,957.13] → 112,350.97 [108,494.65–112,751.48] 2,311.04 [2,240.17–2,330.54] → 2,256.92 [2,243.71–2,263.04] 2,472.54 [2,395.54–2,577.83] → 2,690.33 [2,403.04–4,041.13] 374.8 [370.69–381.08] → 377.4 [374.33–379.79] 13.81 [13.42–13.81] → 13.97 [13.8–14.08]
HTTPS · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 1 79,997.77 [78,879.41–80,778.48] → 78,676.79 [78,660.6–80,258.77] 198.42 [197.92–200.54] → 201.04 [198.79–201.63] 209.83 [207.92–212.46] → 210.92 [209.33–212.96] 99.34 [99.01–99.98] → 99.01 [99–99.89] 34.53 [34.48–34.66] → 34.7 [34.67–34.84]
HTTPS · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 4 156,786.67 [154,461.22–158,499.92] → 153,183.8 [149,921.71–158,382.56] 99.79 [98.79–100.08] → 102.33 [98.63–104.08] 137.63 [134.29–159.21] → 141.54 [133.38–155.71] 381.92 [380.13–384.17] → 381.01 [378.29–384.82] 34.95 [34.94–34.97] → 35.25 [35.17–35.27]
HTTPS · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 1 105,952.78 [104,408.96–107,407.24] → 104,208.87 [104,008.98–106,494.73] 2,391.38 [2,379.88–2,426.46] → 2,425 [2,393.58–2,437.17] 2,491.88 [2,468.5–2,530.13] → 2,571.46 [2,543–2,580.13] 99.09 [99.09–99.96] → 99.1 [99.08–99.94] 34.75 [34.64–34.97] → 34.98 [34.89–35.05]
HTTPS · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 4 195,776.15 [188,040.56–199,063.3] → 183,395.73 [182,056–195,717.63] 1,288.42 [1,278.88–1,343.79] → 1,376.58 [1,287.29–1,382.38] 1,445.88 [1,419.29–1,506.63] → 1,595.17 [1,448–1,600.04] 378.66 [373.24–383.68] → 372.4 [372.05–378.03] 35.08 [35.06–35.16] → 35.42 [35.41–35.53]
HTTPS · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 35,591.19 [34,848.8–36,146.07] → 34,243.03 [34,087.56–34,376.23] 435.71 [422.71–452.46] → 462.42 [458.33–462.75] 484.63 [477.71–486.04] → 486.13 [485.96–497.17] 85.15 [82.84–88.68] → 82.48 [82.37–82.62] 35.53 [35.47–35.58] → 35.58 [35.47–35.58]
HTTPS · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 95,870.36 [94,039.66–97,443.98] → 94,085.18 [93,269.38–95,042.34] 162.04 [159.79–163.13] → 164.67 [164.04–167.17] 214.79 [208.71–249.33] → 216.96 [203.29–231.92] 383.01 [379.86–387.96] → 384.08 [381.7–384.45] 35.61 [35.61–35.69] → 35.7 [35.64–35.88]
HTTPS · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 42,688.44 [42,292.18–42,844.78] → 41,928.67 [41,848.82–42,140] 5,944.67 [5,925.21–6,005.5] → 6,075.29 [5,983.75–6,090.92] 6,119 [6,115.67–6,215] → 6,276.54 [6,194.29–6,289.25] 90.58 [87.87–90.62] → 88.37 [87.86–89.6] 38.67 [38.52–38.67] → 38.64 [38.53–38.8]
HTTPS · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 104,994.53 [103,257.09–105,806.63] → 103,405.63 [101,422.35–104,814.45] 2,412.96 [2,409.42–2,413.58] → 2,440.71 [2,432.04–2,514.25] 2,548.71 [2,546.38–4,095.83] → 2,860.54 [2,782.63–2,909.79] 382.37 [381.04–385.77] → 381.63 [380.89–386.58] 38.98 [38.88–39.11] → 39.14 [39.03–39.16]
TCP · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 1 162,064.08 [158,479.52–166,024.81] → 160,521.37 [159,696.45–160,585.25] 96.67 [96.04–97.21] → 98.25 [98.17–99.21] 116.83 [114.67–162.71] → 118.83 [118.71–138.54] 98.99 [98.79–99.98] → 98.99 [98.97–99.98] 9.34 [9.31–9.39] → 9.5 [9.48–9.53]
TCP · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 4 193,155.81 [192,487.93–195,296.34] → 193,117.76 [192,929.02–193,809.9] 78.17 [77.67–78.75] → 78.13 [77.88–78.42] 116.17 [115.75–119.17] → 113.71 [110–118.79] 267.46 [267.23–269.87] → 269.09 [268.16–269.47] 9.45 [9.41–9.47] → 9.52 [9.5–9.58]
TCP · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 1 212,323.87 [207,216.58–216,765.34] → 204,393.35 [203,430.74–214,672.46] 1,196.71 [1,172.71–1,266.79] → 1,231.83 [1,198.79–1,269.04] 1,251.5 [1,232.92–1,299.33] → 1,316.33 [1,237.46–1,323] 94.58 [90.08–95.1] → 93.75 [93.5–94.36] 9.48 [9.48–9.52] → 9.64 [9.56–9.64]
TCP · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 4 310,292.84 [276,296.84–316,216.35] → 284,003.56 [270,564.75–304,817.44] 820 [808.38–940.54] → 910.79 [822.71–958.83] 1,099 [1,085.63–1,112.96] → 1,126.42 [1,116.21–1,178.88] 356.35 [345.87–358.26] → 351.18 [345.43–357.77] 9.53 [9.52–9.53] → 9.67 [9.63–9.8]
TCP · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 101,478.01 [101,367.46–102,047.04] → 100,845.46 [100,812.06–101,055.57] 152.58 [152.54–153.13] → 153.71 [153.46–153.92] 174.08 [173.46–174.88] → 175.54 [174.67–175.54] 99.01 [99–99.54] → 99.01 [99.01–99.01] 10.02 [10–10.05] → 10.06 [10.05–10.11]
TCP · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 162,346.45 [161,384.08–163,223.54] → 162,801.45 [161,587.4–163,146.44] 95.67 [94.71–95.96] → 95.21 [95.04–95.38] 129.46 [129.29–130.83] → 136.92 [130.54–138.71] 277.5 [276.46–277.59] → 278.65 [277.77–280] 10.03 [9.98–10.08] → 10.08 [10.06–10.08]
TCP · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 128,683.83 [126,777.4–129,794.69] → 121,560.42 [120,300.09–123,435.96] 1,958.25 [1,920–2,007.21] → 2,090.88 [2,084.75–2,100.33] 2,105.67 [2,100.5–2,115.79] → 2,144.63 [2,140.08–2,714.13] 98.63 [95.73–99.04] → 91.54 [91.23–93.3] 12.5 [12.48–12.5] → 12.72 [12.66–12.73]
TCP · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 256,750.95 [247,096.42–264,258.53] → 242,461.24 [237,208.36–254,299.41] 979.04 [940.38–1,024.92] → 1,047.67 [987.38–1,068.46] 1,316.92 [1,282.5–1,361.04] → 1,395.54 [1,287.75–1,446.46] 372.76 [369.43–374.95] → 370.17 [368.56–373.54] 12.59 [12.55–12.61] → 12.94 [12.91–12.94]
TLS TCP · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 1 106,395.15 [106,022.01–107,256.55] → 103,973.13 [103,924.76–104,210.55] 147.5 [146.46–149.17] → 150.88 [150.46–151.04] 169.63 [167.58–170.33] → 173.17 [173.08–173.33] 99.01 [99–99.69] → 99 [99–99.01] 33.77 [33.67–33.84] → 33.89 [33.83–34.09]
TLS TCP · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 4 159,727.96 [159,028.63–160,443.49] → 159,207.75 [158,332.65–159,272.22] 97.67 [97.63–98] → 98.71 [98.29–99.04] 133.08 [131.92–134.5] → 133.67 [131.13–149.58] 288.49 [288.4–288.71] → 291.56 [289.66–293.28] 34.09 [34.08–34.22] → 34.27 [34.22–34.3]
TLS TCP · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 1 137,604.98 [130,689.84–140,149.27] → 130,843.62 [127,939.82–138,751.5] 1,835.08 [1,819.96–1,991.5] → 1,939.58 [1,829.58–1,986.96] 1,952.21 [1,942.92–2,078.29] → 1,987.67 [1,893.17–2,089.04] 96.51 [94.59–99.17] → 97.46 [94.79–99.17] 33.91 [33.89–33.91] → 34.16 [34–34.27]
TLS TCP · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 4 259,300.3 [236,215.69–264,678.19] → 243,068.36 [232,155.25–259,341.03] 982.08 [960.71–1,079.29] → 1,050.63 [981.21–1,094.92] 1,207.54 [1,203.63–1,254.71] → 1,243.33 [1,222.46–1,311.75] 375.33 [365.54–376.04] → 370.16 [363.78–375.2] 34.27 [34.22–34.28] → 34.5 [34.45–34.53]
TLS TCP · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 60,987.07 [60,305.37–61,166.85] → 60,397.28 [60,367.37–60,685.6] 255.29 [254.29–258.08] → 257.75 [256.54–257.79] 281.04 [279.33–282.83] → 283.08 [282.67–288.42] 99.01 [99.01–99.01] → 99.01 [98.99–99.02] 34.73 [34.72–34.75] → 35 [34.92–35.09]
TLS TCP · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 121,729.78 [121,244.57–122,209.2] → 121,852.86 [120,944.09–122,631.5] 129 [128.83–129.38] → 129.04 [128.21–130.29] 160.04 [157.83–160.92] → 163.21 [159.46–177.71] 307.38 [307.11–309.34] → 310.6 [307.28–311.41] 34.98 [34.94–35.03] → 35.3 [34.98–35.33]
TLS TCP · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 68,150.06 [68,126.89–68,604.43] → 68,130.96 [67,188.54–68,982.76] 3,720.21 [3,700.71–3,755.54] → 3,719.79 [3,690.29–3,769.63] 3,866.13 [3,783.58–3,877.08] → 4,023.38 [3,805.29–4,146.17] 95.42 [94.72–97.03] → 97 [96.51–97.4] 37.77 [37.63–37.86] → 38.03 [38–38.14]
TLS TCP · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 187,738.2 [181,211.82–189,746.23] → 186,549.68 [178,707.54–188,344.36] 1,341.54 [1,337.25–1,389.04] → 1,353.88 [1,337.21–1,416.83] 1,511.25 [1,474.21–1,584.08] → 1,549.38 [1,544.38–1,620.21] 387.9 [383.49–389.28] → 387.37 [383.38–388.22] 37.95 [37.91–37.97] → 38.36 [38.14–38.44]
WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 1 134,193.62 [133,920.03–135,207.59] → 129,869.64 [129,063.54–130,441.12] 117.5 [116.96–117.63] → 121.5 [121.08–122.21] 135.96 [135.5–136.25] → 139.5 [138.08–140.63] 99.01 [99–99.27] → 99 [99–99] 10.72 [10.7–10.78] → 10.84 [10.83–10.91]
WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 4 168,896.97 [138,443.97–170,895.11] → 168,615.6 [168,097.69–169,536.18] 91.38 [90.42–104] → 92 [91.5–92.17] 139.54 [119.42–321.38] → 120.83 [120.21–137.54] 302.78 [298.6–303.79] → 308.02 [307.18–309.03] 10.91 [10.84–10.94] → 11.02 [11.02–11.06]
WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 1 163,888.89 [162,377.69–172,107.17] → 155,467 [152,918.84–164,052.07] 1,565.5 [1,306.63–1,572.58] → 1,627.46 [1,468.75–1,657.29] 1,653.04 [1,630.21–2,563.71] → 2,140.75 [1,906.17–3,081.88] 91.57 [90.58–94.6] → 96.27 [92.88–98.42] 10.98 [10.95–11.03] → 11.02 [11.02–11.11]
WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 4 219,694.22 [219,559.15–233,093.74] → 206,437.03 [206,397.39–215,817.87] 1,165.33 [1,095.08–1,166.83] → 1,237.08 [1,188.38–1,240.25] 1,354.63 [1,279.42–1,358.42] → 1,436.21 [1,370.38–1,470.54] 357 [356.8–363.54] → 353.22 [352.55–358.42] 11.17 [11.17–11.17] → 11.22 [11.19–11.22]
WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 74,730.32 [73,870–75,234.4] → 73,570.67 [73,117.08–74,363.17] 211.04 [209.42–213.5] → 213.5 [211.5–213.67] 222.5 [219.29–224.5] → 224.92 [223–225.58] 99.99 [99.93–99.99] → 99.44 [99–99.98] 11.14 [11.09–11.14] → 11.23 [11.2–11.31]
WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 141,132.86 [140,903.11–147,996.92] → 142,299.22 [138,747.36–144,861.95] 107.42 [102.83–107.75] → 105.79 [104.83–109.54] 152.17 [145.25–158.88] → 159.42 [151.33–185.38] 371.02 [370.98–378.44] → 376.56 [371.41–378.37] 11.22 [11.2–11.28] → 11.41 [11.31–11.44]
WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 83,992.24 [83,475.66–86,097.13] → 81,622.76 [81,589.45–86,269.79] 3,034.79 [2,899.67–3,040.13] → 3,109.88 [2,913.96–3,110.13] 3,095.33 [3,094.42–3,102.42] → 3,162.33 [3,123.63–3,191.58] 94.55 [94.11–96.97] → 94.32 [94.17–98.31] 13.8 [13.78–13.86] → 13.88 [13.86–13.94]
WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 146,668.43 [146,088.97–149,570.12] → 137,961.22 [137,397.6–141,878.55] 1,713.42 [1,681.17–1,720.38] → 1,772.13 [1,772.04–1,821.42] 2,079.08 [2,039.25–2,112.25] → 2,213.71 [2,182.13–3,148.79] 359.75 [358.85–363.39] → 358.37 [357.67–358.79] 14.02 [13.86–14.06] → 13.88 [13.81–14]
TLS WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 1 87,540.12 [86,936.58–87,700.39] → 86,802.64 [86,040.8–88,361.35] 180.79 [179.88–180.92] → 181.21 [179.67–182.88] 204.42 [203.21–205.04] → 204.79 [203.67–207.33] 99.16 [99.03–99.61] → 99.01 [99–99.79] 35.45 [35.41–35.48] → 35.72 [35.47–35.77]
TLS WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 1 · 线程 4 143,881.69 [142,399.96–144,786.87] → 144,197.09 [143,650.12–145,047.89] 108.63 [108–109.75] → 108.25 [107.63–109.13] 137.83 [135.67–139.58] → 137.29 [136.29–140.75] 321.74 [321.5–322.24] → 322.76 [322.54–323.2] 35.84 [35.64–35.91] → 35.95 [35.92–35.97]
TLS WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 1 103,531.06 [100,851.85–107,556.89] → 102,024.6 [99,548.75–102,686.03] 2,468.54 [2,346–2,521.71] → 2,486 [2,476.96–2,552.88] 2,586.29 [2,536.63–2,611.58] → 2,571.54 [2,560–2,754.88] 96.53 [95.02–98.82] → 95.98 [95.78–96.4] 35.64 [35.64–35.78] → 35.63 [35.59–35.72]
TLS WebSocket · Boost.Asio · 16 连接 · 64 B · 在途 16 · 线程 4 176,603.86 [175,594.93–182,241.9] → 176,738.48 [172,681.68–188,997.78] 1,433.71 [1,391.38–1,445.79] → 1,435.46 [1,318.38–1,466.38] 1,575.83 [1,512–1,588.21] → 1,673.71 [1,576.29–2,079.33] 361.75 [361.43–365.9] → 362.69 [361.63–371.63] 35.92 [35.73–35.95] → 36.14 [35.95–36.19]
TLS WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 49,736.55 [49,681.51–49,757.44] → 49,871.74 [49,308.42–49,872.9] 316 [315.25–316] → 317.17 [315.46–319] 330.25 [328.58–333.96] → 330.83 [328.54–331.67] 99.01 [99.01–99.02] → 99.02 [99.01–99.7] 36.19 [36.09–36.34] → 36.3 [36.03–36.36]
TLS WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 118,631.58 [118,192.29–121,138.63] → 120,601.43 [116,960.13–121,633.22] 128.96 [126.17–129.33] → 126.46 [125.58–129.42] 173.71 [171.79–180.08] → 183.38 [171.96–219.83] 379.35 [379.22–383.72] → 383.25 [380.72–383.88] 36.39 [36.2–36.53] → 36.48 [36.33–36.84]
TLS WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 56,093.47 [55,295.11–56,637.96] → 55,256.9 [54,794.26–55,333.91] 4,542.67 [4,496.13–4,592.04] → 4,631.13 [4,594.54–4,633.63] 4,719.71 [4,716.13–4,740.83] → 4,751.96 [4,745.21–4,757.29] 99.05 [98.44–99.25] → 98.53 [98.39–99.1] 38.95 [38.88–39] → 39.06 [39.03–39.25]
TLS WebSocket · Boost.Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 129,126.84 [126,786.94–131,869.86] → 131,095.82 [126,723.93–131,615.74] 1,910 [1,909.88–1,985.79] → 1,924.25 [1,911.79–2,003.33] 2,392.71 [2,313.92–2,909.88] → 2,319.83 [2,301.75–2,429.79] 379.37 [375.94–382.24] → 381.32 [379.14–381.82] 39.23 [39.16–39.31] → 39.39 [39.33–39.41]
TCP · Standalone Asio · 16 连接 · 64 B · 在途 1 · 线程 1 163,356.78 [162,821.23–163,456.3] → 160,653.61 [160,220.98–160,657.44] 96.5 [96.25–96.54] → 98.08 [97.79–98.67] 115.67 [114.83–142.5] → 117.08 [116.96–117.75] 99 [99–99.73] → 99 [99–99.93] 6.53 [6.47–6.58] → 6.55 [6.47–6.55]
TCP · Standalone Asio · 16 连接 · 64 B · 在途 1 · 线程 4 195,121.64 [192,866.75–195,833.64] → 192,488.84 [191,307.02–193,015] 77.79 [77.25–78.25] → 78.88 [78.83–78.96] 114.92 [110.63–115.29] → 112.25 [109.17–122.54] 268.41 [266.99–270.69] → 272.4 [271.66–272.95] 6.53 [6.52–6.55] → 6.61 [6.56–6.63]
TCP · Standalone Asio · 16 连接 · 64 B · 在途 16 · 线程 1 212,491.91 [210,908.91–221,288.13] → 216,495.58 [213,237.91–221,168.5] 1,169.46 [1,166.08–1,259.79] → 1,183.29 [1,135.79–1,189.92] 1,278.42 [1,195.13–1,293.63] → 1,307.88 [1,282.96–1,308.5] 93.31 [90.07–93.5] → 97.82 [96.98–99.75] 6.61 [6.55–6.64] → 6.66 [6.64–6.72]
TCP · Standalone Asio · 16 连接 · 64 B · 在途 16 · 线程 4 293,240.41 [288,552.53–313,261.15] → 290,122.24 [268,407.12–315,819.58] 868.42 [809.83–880.42] → 884.33 [801.29–970.29] 1,150.5 [1,137.79–1,171.71] → 1,152.46 [1,118.21–1,161.75] 351.19 [350.51–358.78] → 353.03 [347.22–361.27] 6.72 [6.69–6.75] → 6.75 [6.72–6.77]
TCP · Standalone Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 101,658.76 [100,454.67–102,091.84] → 102,131.61 [101,288.75–102,281.67] 151.33 [150.42–151.83] → 152.67 [152.54–152.75] 206.79 [183.63–215.63] → 174.33 [174.21–174.54] 98.92 [98.91–98.94] → 99.78 [99–99.8] 6.98 [6.98–7] → 7.23 [7.2–7.27]
TCP · Standalone Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 161,607.47 [160,889.25–163,455.52] → 161,719.12 [161,063.73–162,143.11] 95.83 [95.38–95.88] → 95.83 [95.75–95.88] 133.96 [133.29–134.17] → 128.13 [125.83–136.17] 276.85 [276.71–279.41] → 278.33 [278.2–278.63] 7.13 [7.11–7.16] → 7.25 [7.2–7.3]
TCP · Standalone Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 125,464.71 [122,678.68–127,225.61] → 124,076.34 [123,335.8–133,556.67] 2,056.79 [1,963.42–2,061.21] → 2,079.88 [1,895–2,083.54] 2,109.5 [2,106.75–2,117.63] → 2,141.46 [1,976.5–2,155.5] 92.99 [90.85–95.62] → 93.26 [92.36–99.12] 9.66 [9.64–9.7] → 9.64 [9.63–9.64]
TCP · Standalone Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 245,818.63 [225,149.62–270,400.45] → 246,809.5 [222,210.48–253,337.08] 1,021.04 [917.46–1,036.58] → 1,014.25 [978.33–1,053.04] 1,369.21 [1,321.33–2,203.04] → 1,557.46 [1,403.75–2,098.38] 369.46 [368.5–380.05] → 370.48 [369.99–374.35] 10 [9.95–10] → 9.8 [9.72–9.84]
TLS TCP · Standalone Asio · 16 连接 · 64 B · 在途 1 · 线程 1 106,106.35 [105,247.71–106,720.52] → 105,305.82 [104,954.37–105,832.33] 147.92 [147.08–148.63] → 149.04 [148.88–149.38] 169.08 [168.71–199.5] → 170.96 [170.13–171.04] 99.01 [99.01–99.12] → 99.21 [99–99.52] 30.86 [30.73–30.89] → 30.94 [30.88–31.03]
TLS TCP · Standalone Asio · 16 连接 · 64 B · 在途 1 · 线程 4 159,955.53 [158,495.15–161,482.69] → 158,124.81 [157,452.86–162,712.28] 97.79 [96.63–98.33] → 98.5 [96.92–98.96] 135 [132.5–136.21] → 136.42 [129.88–138.5] 288.34 [287.49–288.93] → 289.87 [289.52–290.95] 31.19 [31.17–31.23] → 31.16 [31.13–31.28]
TLS TCP · Standalone Asio · 16 连接 · 64 B · 在途 16 · 线程 1 129,384.03 [128,210.63–134,639.18] → 133,896.88 [128,653.03–135,326.48] 1,970.38 [1,815.08–1,980.75] → 1,898.79 [1,866.83–1,975.92] 2,056.58 [2,046.88–2,946.63] → 2,052.38 [2,035.58–2,074.04] 94.64 [90.98–98.8] → 97.69 [95.69–98.78] 30.89 [30.83–31.08] → 31.03 [30.95–31.06]
TLS TCP · Standalone Asio · 16 连接 · 64 B · 在途 16 · 线程 4 242,693.19 [241,041.94–253,251.85] → 249,546.29 [236,231.24–250,812.31] 1,055.08 [1,004.33–1,056.83] → 1,019.58 [1,013.83–1,081.5] 1,249.5 [1,247.04–1,321.71] → 1,265.08 [1,229.13–1,734.63] 368.52 [367.2–370.89] → 371.02 [369.93–371.93] 31.27 [31.23–31.27] → 31.38 [31.28–31.41]
TLS TCP · Standalone Asio · 16 连接 · 4096 B · 在途 1 · 线程 1 61,010.1 [60,919.92–61,693.92] → 61,011.27 [60,956.79–61,605.08] 254.75 [253.83–255.46] → 255.13 [254.88–255.96] 280.75 [280.25–285.04] → 281.42 [280.13–281.92] 99.01 [99.01–99.79] → 99.32 [99.13–99.87] 31.91 [31.88–31.97] → 31.94 [31.86–32.2]
TLS TCP · Standalone Asio · 16 连接 · 4096 B · 在途 1 · 线程 4 122,248.16 [122,172.7–122,486.39] → 121,482.7 [121,405.62–121,987.33] 128.38 [128.17–128.79] → 129.08 [128.63–129.46] 155.42 [154.25–161.54] → 164.71 [160.5–165.71] 306.33 [305.78–307.02] → 306.68 [306.28–306.97] 31.98 [31.94–32.23] → 32.25 [32.13–32.41]
TLS TCP · Standalone Asio · 16 连接 · 4096 B · 在途 16 · 线程 1 68,965.65 [68,737.98–70,858.23] → 69,614.3 [69,172.44–69,729.16] 3,677.29 [3,596.25–3,717.38] → 3,662.63 [3,647.54–3,665.13] 3,824.13 [3,757–3,856.96] → 3,771.08 [3,748.25–3,784.13] 95.38 [94.68–97.67] → 96.98 [96.97–97.71] 34.88 [34.7–35.06] → 34.91 [34.89–34.94]
TLS TCP · Standalone Asio · 16 连接 · 4096 B · 在途 16 · 线程 4 187,958.75 [186,868.34–191,717.45] → 183,398.34 [180,029.22–184,058.46] 1,342.92 [1,316.38–1,343.25] → 1,375.92 [1,365.08–1,406.21] 1,493.04 [1,453.46–2,072.21] → 1,540.42 [1,526.92–1,781.79] 386.69 [386.38–389.56] → 386.68 [383.94–387.23] 35 [34.92–35.09] → 35.03 [35–35.19]

复现

使用同一基准程序对比不同库版本。

编译配置与参数。使用仓库中的独立 C++ 基准程序,输出数据保存在源码目录外。

cmake -S . -B build/benchmark -DCMAKE_BUILD_TYPE=Release \
  -DARKNET_BUILD_TESTS=OFF -DARKNET_BUILD_EXAMPLES=OFF \
  -DARKNET_BUILD_BENCHMARKS=ON -DARKNET_USE_BOOST_ASIO=ON \
  -DARKNET_ENABLE_SSL=ON
cmake --build build/benchmark --target arknet_loopback_benchmark
./build/benchmark/benchmarks/arknet_loopback_benchmark --protocol tcp --payload 64 --clients 16 \
  --window 16 --io-model shared --io-threads 4 --work 0 \
  --warmup 0.25 --seconds 1
Navigation

Type to search…

↑↓ navigate↵ selectEsc close