Skip to content

Database callback and coroutine performance

Matched work through ark’s private database services: 56 paired configurations, 336 fresh processes, zero errors. Each mode completes a fixed operation count three times with Boost.Asio. This measures ark’s database_awaitable, manual_runtime and task-group integration, not an arknet-native coroutine API.

Bars show the median of three runs; short whiskers show min–max. Panel scales are independent. The horizontal axis is connections / outstanding requests. Table changes = (coroutine median / callback median − 1) × 100%.

Redis · TCP

Throughput

CPU percentage

Across all 28 configurations, coroutine throughput medians change by −1.37% to +12.80% relative to callbacks; 22/28 three-run ranges overlap. Differences depend on the configuration; no statistical-significance claim is made.

Response time and process memory

P99

RSS

P50 and exact values for every metric are in the complete tables below. P99 is each process’s 99th percentile over all requests, followed by the median of three process results; samples are not pooled across processes. RSS is the whole-process high-water mark, including warmup and preallocated latency samples. Callback mode also constructs idle bridge/task objects, so RSS does not isolate coroutine frame costs.

All 28 paired configurations: throughput, CPU, P50, P99 and RSS

Throughput (ops/s)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 11,246.7 [11,135.8–11,282.4] 11,452.5 [11,451.4–11,495.0] +1.83% No
64 B Continuous 1/4 10,050.3 [9,980.7–10,052.9] 10,087.2 [10,026.9–10,185.9] +0.37% Yes
64 B Continuous 1/16 10,140.7 [10,071.8–10,172.5] 10,018.4 [9,961.2–10,038.5] −1.21% No
64 B Continuous 1/64 9,823.1 [9,820.9–10,186.9] 10,150.6 [10,110.1–10,177.4] +3.33% Yes
64 B Continuous 4/4 36,926.1 [36,478.0–36,978.4] 36,975.7 [36,825.5–37,064.4] +0.13% Yes
64 B Continuous 4/16 36,454.9 [36,394.2–36,962.5] 36,670.6 [33,368.9–37,089.1] +0.59% Yes
64 B Continuous 4/64 37,176.8 [37,073.8–37,204.7] 36,974.4 [36,690.8–37,059.1] −0.54% No
64 B 1 ms 1/1 996.7 [992.9–997.7] 999.6 [998.7–999.6] +0.29% No
64 B 1 ms 1/4 3,688.4 [3,608.7–3,708.9] 3,682.3 [3,659.2–3,773.9] −0.17% Yes
64 B 1 ms 1/16 10,665.1 [10,652.5–10,707.6] 10,653.9 [10,653.5–10,684.0] −0.10% Yes
64 B 1 ms 1/64 10,622.5 [10,541.9–10,623.1] 10,603.5 [10,382.1–10,651.7] −0.18% Yes
64 B 1 ms 4/4 3,994.7 [3,970.2–3,994.9] 3,957.3 [3,928.9–3,998.5] −0.94% Yes
64 B 1 ms 4/16 15,524.6 [15,321.4–15,539.1] 15,524.4 [15,407.1–15,539.3] −0.00% Yes
64 B 1 ms 4/64 37,282.1 [37,277.3–37,446.7] 37,362.0 [37,276.6–37,364.2] +0.21% Yes
4 KiB Continuous 1/1 8,638.8 [8,595.2–8,646.6] 8,727.0 [8,668.5–8,758.3] +1.02% No
4 KiB Continuous 1/4 8,059.4 [7,989.3–8,090.7] 8,057.2 [8,040.8–8,099.1] −0.03% Yes
4 KiB Continuous 1/16 8,020.9 [7,993.5–8,081.1] 8,062.0 [7,987.9–8,191.6] +0.51% Yes
4 KiB Continuous 1/64 8,041.8 [7,865.1–8,180.0] 8,111.6 [8,095.7–8,112.3] +0.87% Yes
4 KiB Continuous 4/4 28,169.4 [27,982.5–28,283.1] 28,025.2 [28,017.6–28,232.9] −0.51% Yes
4 KiB Continuous 4/16 28,159.9 [27,956.3–28,183.8] 27,773.2 [27,438.8–28,205.7] −1.37% Yes
4 KiB Continuous 4/64 28,126.6 [28,117.0–28,254.4] 28,030.1 [28,021.9–28,340.3] −0.34% Yes
4 KiB 1 ms 1/1 994.8 [985.1–997.7] 998.5 [997.7–999.6] +0.38% Yes
4 KiB 1 ms 1/4 3,367.5 [3,350.1–3,712.4] 3,798.4 [3,780.8–3,805.5] +12.80% No
4 KiB 1 ms 1/16 8,268.9 [8,265.8–8,299.8] 8,283.3 [8,251.5–8,316.4] +0.17% Yes
4 KiB 1 ms 1/64 8,319.4 [8,269.6–8,349.9] 8,282.6 [8,282.5–8,299.8] −0.44% Yes
4 KiB 1 ms 4/4 3,971.5 [3,971.4–3,998.7] 3,978.1 [3,941.0–3,978.2] +0.17% Yes
4 KiB 1 ms 4/16 15,180.7 [15,053.6–15,251.5] 15,179.4 [15,025.6–15,206.5] −0.01% Yes
4 KiB 1 ms 4/64 28,673.3 [28,472.2–28,674.9] 28,572.1 [28,565.2–28,768.8] −0.35% Yes

Client process CPU (%)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 136.69 [136.63–136.88] 137.02 [136.83–137.13] +0.24% Yes
64 B Continuous 1/4 133.51 [133.36–133.55] 133.44 [133.29–133.55] −0.05% Yes
64 B Continuous 1/16 133.36 [133.32–133.47] 133.49 [133.31–133.58] +0.09% Yes
64 B Continuous 1/64 133.41 [133.40–133.49] 133.47 [133.45–133.62] +0.04% Yes
64 B Continuous 4/4 173.03 [172.38–173.69] 173.98 [173.64–174.44] +0.55% Yes
64 B Continuous 4/16 173.00 [172.91–173.92] 173.30 [170.50–174.34] +0.18% Yes
64 B Continuous 4/64 173.10 [172.90–173.97] 174.24 [173.58–174.26] +0.66% Yes
64 B 1 ms 1/1 25.03 [24.92–30.35] 20.62 [18.66–28.22] −17.64% Yes
64 B 1 ms 1/4 22.46 [22.23–22.81] 21.90 [21.64–23.22] −2.45% Yes
64 B 1 ms 1/16 33.38 [33.29–33.60] 33.67 [33.62–33.77] +0.87% No
64 B 1 ms 1/64 33.54 [33.48–33.67] 33.92 [33.68–34.15] +1.15% No
64 B 1 ms 4/4 49.98 [34.11–51.44] 48.81 [39.43–52.37] −2.35% Yes
64 B 1 ms 4/16 36.23 [36.08–37.20] 37.59 [37.09–38.81] +3.76% Yes
64 B 1 ms 4/64 75.73 [75.64–75.86] 76.85 [76.69–77.04] +1.48% No
4 KiB Continuous 1/1 132.16 [132.02–132.25] 132.24 [132.17–132.32] +0.06% Yes
4 KiB Continuous 1/4 129.72 [129.32–129.81] 129.65 [129.63–129.84] −0.06% Yes
4 KiB Continuous 1/16 129.64 [129.60–129.76] 129.54 [129.45–129.81] −0.08% Yes
4 KiB Continuous 1/64 129.59 [129.42–129.71] 129.67 [129.60–129.71] +0.06% Yes
4 KiB Continuous 4/4 165.68 [165.62–166.73] 166.33 [166.09–166.66] +0.39% Yes
4 KiB Continuous 4/16 165.73 [165.71–166.65] 166.18 [166.05–166.88] +0.27% Yes
4 KiB Continuous 4/64 165.66 [165.47–166.70] 166.16 [165.71–166.65] +0.30% Yes
4 KiB 1 ms 1/1 29.33 [27.66–31.25] 31.35 [30.69–31.47] +6.91% Yes
4 KiB 1 ms 1/4 23.16 [22.95–23.35] 21.94 [21.93–22.05] −5.29% No
4 KiB 1 ms 1/16 30.26 [30.25–30.43] 30.55 [30.50–30.56] +0.99% No
4 KiB 1 ms 1/64 30.31 [30.28–30.43] 30.64 [30.49–30.64] +1.09% No
4 KiB 1 ms 4/4 43.85 [22.55–47.60] 46.84 [45.81–50.67] +6.81% Yes
4 KiB 1 ms 4/16 41.01 [40.87–42.25] 42.62 [42.35–46.34] +3.92% No
4 KiB 1 ms 4/64 69.22 [69.18–69.25] 70.15 [69.96–70.48] +1.35% No

P50 response time (ms)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 0.088 [0.088–0.089] 0.086 [0.086–0.087] −2.22% No
64 B Continuous 1/4 0.397 [0.394–0.400] 0.392 [0.390–0.398] −1.19% Yes
64 B Continuous 1/16 1.577 [1.573–1.586] 1.596 [1.589–1.606] +1.25% No
64 B Continuous 1/64 6.520 [6.281–6.537] 6.298 [6.255–6.328] −3.41% Yes
64 B Continuous 4/4 0.108 [0.107–0.109] 0.108 [0.107–0.108] −0.23% Yes
64 B Continuous 4/16 0.431 [0.430–0.435] 0.431 [0.427–0.449] +0.14% Yes
64 B Continuous 4/64 1.719 [1.717–1.722] 1.724 [1.720–1.737] +0.29% Yes
64 B 1 ms 1/1 0.999 [0.999–0.999] 1.000 [1.000–1.000] +0.10% No
64 B 1 ms 1/4 1.008 [1.006–1.010] 1.009 [1.002–1.012] +0.09% Yes
64 B 1 ms 1/16 1.480 [1.479–1.486] 1.492 [1.490–1.497] +0.80% No
64 B 1 ms 1/64 5.997 [5.996–6.007] 6.008 [5.997–6.032] +0.18% Yes
64 B 1 ms 4/4 0.989 [0.988–0.993] 1.000 [1.000–1.000] +1.13% No
64 B 1 ms 4/16 0.996 [0.996–0.996] 1.001 [1.000–1.001] +0.46% No
64 B 1 ms 4/64 1.872 [1.871–1.874] 1.878 [1.874–1.882] +0.28% Yes
4 KiB Continuous 1/1 0.115 [0.114–0.115] 0.114 [0.114–0.115] −0.62% Yes
4 KiB Continuous 1/4 0.495 [0.493–0.496] 0.494 [0.492–0.495] −0.21% Yes
4 KiB Continuous 1/16 1.994 [1.970–1.998] 1.981 [1.951–1.991] −0.66% Yes
4 KiB Continuous 1/64 7.951 [7.822–8.138] 7.878 [7.877–7.884] −0.92% Yes
4 KiB Continuous 4/4 0.141 [0.140–0.142] 0.142 [0.141–0.142] +0.59% Yes
4 KiB Continuous 4/16 0.566 [0.564–0.571] 0.572 [0.566–0.578] +1.11% Yes
4 KiB Continuous 4/64 2.268 [2.261–2.275] 2.275 [2.257–2.279] +0.29% Yes
4 KiB 1 ms 1/1 0.998 [0.998–0.998] 0.998 [0.998–0.999] +0.04% No
4 KiB 1 ms 1/4 1.082 [0.998–1.190] 1.001 [1.001–1.001] −7.52% Yes
4 KiB 1 ms 1/16 1.987 [1.984–1.988] 1.993 [1.984–1.994] +0.30% Yes
4 KiB 1 ms 1/64 7.856 [7.802–7.881] 7.865 [7.856–7.882] +0.12% Yes
4 KiB 1 ms 4/4 0.991 [0.989–0.995] 0.999 [0.999–0.999] +0.79% No
4 KiB 1 ms 4/16 0.993 [0.993–0.994] 1.001 [1.001–1.003] +0.81% No
4 KiB 1 ms 4/64 2.062 [2.054–2.066] 2.072 [2.065–2.086] +0.48% Yes

P99 response time (ms)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 0.103 [0.101–0.110] 0.099 [0.099–0.099] −3.73% No
64 B Continuous 1/4 0.427 [0.423–0.486] 0.441 [0.424–0.490] +3.27% Yes
64 B Continuous 1/16 1.662 [1.650–1.734] 1.666 [1.653–1.714] +0.22% Yes
64 B Continuous 1/64 6.995 [6.628–7.491] 6.572 [6.558–6.987] −6.05% Yes
64 B Continuous 4/4 0.147 [0.145–0.151] 0.145 [0.145–0.147] −0.82% Yes
64 B Continuous 4/16 0.613 [0.528–0.664] 0.570 [0.540–1.408] −6.90% Yes
64 B Continuous 4/64 1.908 [1.896–1.927] 1.944 [1.918–1.955] +1.88% Yes
64 B 1 ms 1/1 1.454 [1.443–1.461] 1.157 [1.131–1.408] −20.37% No
64 B 1 ms 1/4 2.154 [2.126–2.160] 2.129 [2.125–2.158] −1.17% Yes
64 B 1 ms 1/16 2.420 [2.418–2.462] 2.441 [2.415–2.460] +0.86% Yes
64 B 1 ms 1/64 7.004 [7.001–7.175] 7.063 [6.988–7.539] +0.84% Yes
64 B 1 ms 4/4 1.443 [1.441–1.453] 1.449 [1.446–1.497] +0.40% Yes
64 B 1 ms 4/16 2.005 [2.001–2.138] 2.035 [1.996–2.138] +1.50% Yes
64 B 1 ms 4/64 2.470 [2.457–2.504] 2.473 [2.456–2.473] +0.11% Yes
4 KiB Continuous 1/1 0.130 [0.129–0.134] 0.128 [0.124–0.129] −1.54% No
4 KiB Continuous 1/4 0.521 [0.520–0.587] 0.533 [0.520–0.549] +2.31% Yes
4 KiB Continuous 1/16 2.137 [2.129–2.235] 2.053 [2.038–2.296] −3.93% Yes
4 KiB Continuous 1/64 8.281 [8.188–8.620] 8.219 [8.120–8.800] −0.76% Yes
4 KiB Continuous 4/4 0.182 [0.182–0.188] 0.182 [0.182–0.184] −0.09% Yes
4 KiB Continuous 4/16 0.677 [0.676–0.683] 0.733 [0.658–0.738] +8.30% Yes
4 KiB Continuous 4/64 2.520 [2.464–2.623] 2.503 [2.447–2.588] −0.65% Yes
4 KiB 1 ms 1/1 1.457 [1.455–1.469] 1.431 [1.427–1.456] −1.79% Yes
4 KiB 1 ms 1/4 2.214 [2.134–2.229] 2.084 [2.054–2.103] −5.86% No
4 KiB 1 ms 1/16 2.768 [2.754–2.808] 2.751 [2.700–2.787] −0.60% Yes
4 KiB 1 ms 1/64 8.478 [8.450–8.553] 8.474 [8.474–8.483] −0.05% Yes
4 KiB 1 ms 4/4 1.462 [1.033–1.479] 1.469 [1.467–1.486] +0.46% Yes
4 KiB 1 ms 4/16 2.080 [2.041–2.113] 2.055 [2.039–2.070] −1.22% Yes
4 KiB 1 ms 4/64 3.325 [3.320–3.343] 3.336 [3.328–3.350] +0.33% Yes

Process peak RSS (MiB)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 5.594 [5.594–5.609] 5.625 [5.563–5.656] +0.56% Yes
64 B Continuous 1/4 5.609 [5.594–5.609] 5.641 [5.609–5.656] +0.56% Yes
64 B Continuous 1/16 5.609 [5.594–5.641] 5.641 [5.641–5.656] +0.56% Yes
64 B Continuous 1/64 5.625 [5.609–5.656] 5.781 [5.766–5.797] +2.78% No
64 B Continuous 4/4 5.906 [5.891–5.969] 5.953 [5.938–6.000] +0.79% Yes
64 B Continuous 4/16 5.953 [5.906–5.984] 5.969 [5.953–5.969] +0.26% Yes
64 B Continuous 4/64 5.953 [5.953–5.969] 6.125 [6.063–6.125] +2.89% No
64 B 1 ms 1/1 5.531 [5.516–5.531] 5.563 [5.547–5.578] +0.56% No
64 B 1 ms 1/4 5.563 [5.547–5.563] 5.563 [5.563–5.594] +0.00% Yes
64 B 1 ms 1/16 5.547 [5.531–5.578] 5.641 [5.625–5.656] +1.69% No
64 B 1 ms 1/64 5.563 [5.547–5.609] 5.734 [5.703–5.750] +3.09% No
64 B 1 ms 4/4 5.609 [5.609–5.609] 5.656 [5.656–5.672] +0.84% No
64 B 1 ms 4/16 5.719 [5.703–5.750] 5.781 [5.766–5.797] +1.09% No
64 B 1 ms 4/64 5.750 [5.750–5.766] 5.891 [5.875–5.906] +2.45% No
4 KiB Continuous 1/1 5.641 [5.625–5.641] 5.672 [5.656–5.688] +0.55% No
4 KiB Continuous 1/4 5.672 [5.656–5.688] 5.750 [5.750–5.750] +1.38% No
4 KiB Continuous 1/16 5.813 [5.813–5.844] 5.859 [5.844–5.875] +0.81% Yes
4 KiB Continuous 1/64 6.516 [6.516–6.531] 6.641 [6.641–6.672] +1.92% No
4 KiB Continuous 4/4 6.094 [6.031–6.141] 6.156 [6.125–6.172] +1.03% Yes
4 KiB Continuous 4/16 6.188 [6.172–6.203] 6.250 [6.219–6.266] +1.01% No
4 KiB Continuous 4/64 6.875 [6.859–6.891] 7.016 [6.984–7.016] +2.05% No
4 KiB 1 ms 1/1 5.547 [5.531–5.578] 5.594 [5.563–5.609] +0.85% Yes
4 KiB 1 ms 1/4 5.609 [5.609–5.609] 5.688 [5.688–5.688] +1.39% No
4 KiB 1 ms 1/16 5.953 [5.922–5.984] 5.969 [5.953–5.984] +0.26% Yes
4 KiB 1 ms 1/64 6.453 [6.453–6.500] 6.609 [6.578–6.625] +2.42% No
4 KiB 1 ms 4/4 5.734 [5.734–5.750] 5.781 [5.766–5.797] +0.82% No
4 KiB 1 ms 4/16 6.109 [6.109–6.109] 6.172 [6.156–6.219] +1.02% No
4 KiB 1 ms 4/64 6.906 [6.906–6.938] 7.047 [7.016–7.063] +2.04% No

MySQL · TLS

Throughput

CPU percentage

Across all 28 configurations, coroutine throughput medians change by −3.01% to +0.81% relative to callbacks; 24/28 three-run ranges overlap. Differences depend on the configuration; no statistical-significance claim is made.

Response time and process memory

P99

RSS

P50 and exact values for every metric are in the complete tables below. P99 is each process’s 99th percentile over all requests, followed by the median of three process results; samples are not pooled across processes. RSS is the whole-process high-water mark, including warmup and preallocated latency samples. Callback mode also constructs idle bridge/task objects, so RSS does not isolate coroutine frame costs.

All 28 paired configurations: throughput, CPU, P50, P99 and RSS

Throughput (ops/s)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 4,994.9 [4,973.6–5,006.5] 4,933.1 [4,923.3–4,945.5] −1.24% No
64 B Continuous 1/4 4,720.8 [4,720.7–4,731.6] 4,601.0 [4,564.7–4,609.8] −2.54% No
64 B Continuous 1/16 4,665.5 [4,663.5–4,708.9] 4,555.6 [4,555.6–4,595.7] −2.36% No
64 B Continuous 1/64 4,552.4 [4,538.2–4,590.4] 4,550.3 [4,485.9–4,557.3] −0.04% Yes
64 B Continuous 4/4 14,894.2 [14,845.6–14,913.4] 14,833.0 [14,804.0–14,877.7] −0.41% Yes
64 B Continuous 4/16 15,124.9 [15,071.7–15,140.7] 15,118.2 [14,588.3–15,124.7] −0.04% Yes
64 B Continuous 4/64 15,067.2 [14,991.9–15,193.1] 15,127.0 [15,095.0–15,139.3] +0.40% Yes
64 B 1 ms 1/1 991.9 [979.5–999.7] 991.0 [986.2–996.7] −0.10% Yes
64 B 1 ms 1/4 3,564.0 [3,511.9–3,698.4] 3,517.3 [3,434.8–3,530.0] −1.31% Yes
64 B 1 ms 1/16 4,610.1 [4,528.9–4,610.7] 4,599.6 [4,594.7–4,602.0] −0.23% Yes
64 B 1 ms 1/64 4,594.4 [4,584.8–4,600.2] 4,589.9 [4,508.3–4,594.8] −0.10% Yes
64 B 1 ms 4/4 3,971.5 [3,967.3–3,975.4] 3,986.9 [3,940.9–3,988.1] +0.39% Yes
64 B 1 ms 4/16 13,798.9 [13,727.5–13,821.7] 13,832.0 [13,750.5–13,860.8] +0.24% Yes
64 B 1 ms 4/64 15,566.6 [15,522.0–15,613.4] 15,499.1 [15,478.4–15,611.8] −0.43% Yes
4 KiB Continuous 1/1 4,378.3 [4,325.6–4,387.1] 4,379.2 [4,316.8–4,391.7] +0.02% Yes
4 KiB Continuous 1/4 4,212.4 [4,198.4–4,214.1] 4,183.9 [4,181.8–4,185.2] −0.68% No
4 KiB Continuous 1/16 4,140.9 [4,114.9–4,190.4] 4,174.5 [4,170.5–4,181.2] +0.81% Yes
4 KiB Continuous 1/64 4,168.6 [4,151.7–4,217.9] 4,171.5 [4,163.9–4,182.4] +0.07% Yes
4 KiB Continuous 4/4 13,350.5 [13,131.8–13,479.5] 13,403.4 [13,394.9–13,404.3] +0.40% Yes
4 KiB Continuous 4/16 13,435.9 [13,407.3–13,627.2] 13,463.4 [13,439.6–13,485.2] +0.20% Yes
4 KiB Continuous 4/64 13,447.9 [13,388.2–13,455.6] 13,488.1 [13,153.8–13,569.0] +0.30% Yes
4 KiB 1 ms 1/1 994.8 [994.8–995.9] 993.9 [989.0–994.9] −0.09% Yes
4 KiB 1 ms 1/4 3,614.4 [3,550.8–3,630.1] 3,585.1 [3,563.8–3,639.8] −0.81% Yes
4 KiB 1 ms 1/16 4,360.5 [4,251.8–4,432.6] 4,229.2 [4,152.5–4,278.1] −3.01% Yes
4 KiB 1 ms 1/64 4,131.3 [4,126.4–4,182.6] 4,135.8 [4,133.0–4,144.4] +0.11% Yes
4 KiB 1 ms 4/4 3,988.1 [3,967.9–3,999.7] 3,979.6 [3,959.2–3,990.9] −0.21% Yes
4 KiB 1 ms 4/16 13,282.9 [13,220.8–13,336.3] 13,250.1 [13,210.9–13,261.1] −0.25% Yes
4 KiB 1 ms 4/64 13,717.2 [13,669.3–13,750.5] 13,716.9 [13,716.2–13,773.8] −0.00% Yes

Client process CPU (%)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 125.29 [124.89–125.30] 124.06 [123.67–124.34] −0.98% No
64 B Continuous 1/4 124.85 [124.81–125.02] 122.95 [122.48–123.39] −1.53% No
64 B Continuous 1/16 123.91 [123.79–124.51] 122.34 [122.15–122.80] −1.26% No
64 B Continuous 1/64 122.25 [122.03–123.30] 122.21 [121.47–123.36] −0.04% Yes
64 B Continuous 4/4 150.86 [150.83–150.93] 151.14 [150.91–151.42] +0.18% Yes
64 B Continuous 4/16 151.53 [151.27–151.69] 151.64 [151.60–152.16] +0.07% Yes
64 B Continuous 4/64 151.17 [151.09–151.21] 151.41 [151.20–151.47] +0.15% Yes
64 B 1 ms 1/1 25.59 [16.56–27.78] 25.56 [25.18–26.51] −0.11% Yes
64 B 1 ms 1/4 21.23 [21.01–21.36] 21.74 [21.21–21.99] +2.39% Yes
64 B 1 ms 1/16 24.43 [24.14–24.95] 24.73 [24.16–25.07] +1.24% Yes
64 B 1 ms 1/64 24.17 [23.84–24.48] 24.30 [23.18–24.36] +0.55% Yes
64 B 1 ms 4/4 42.95 [42.48–45.34] 46.92 [43.18–47.74] +9.24% Yes
64 B 1 ms 4/16 46.62 [46.25–46.73] 47.05 [47.02–47.09] +0.94% No
64 B 1 ms 4/64 53.89 [53.64–54.32] 54.61 [54.52–54.64] +1.33% No
4 KiB Continuous 1/1 123.99 [123.50–124.76] 122.58 [122.54–123.63] −1.14% Yes
4 KiB Continuous 1/4 123.16 [122.86–123.54] 122.23 [122.04–122.62] −0.76% No
4 KiB Continuous 1/16 122.82 [122.71–123.12] 121.95 [121.76–122.26] −0.71% No
4 KiB Continuous 1/64 124.23 [122.94–124.29] 124.02 [121.71–124.28] −0.17% Yes
4 KiB Continuous 4/4 152.62 [152.56–153.20] 152.14 [151.88–152.31] −0.31% No
4 KiB Continuous 4/16 152.93 [152.89–152.96] 152.71 [152.28–152.76] −0.14% No
4 KiB Continuous 4/64 151.33 [151.28–151.76] 151.49 [150.94–151.83] +0.11% Yes
4 KiB 1 ms 1/1 25.12 [24.23–25.24] 27.20 [26.49–28.60] +8.27% No
4 KiB 1 ms 1/4 21.24 [21.17–21.33] 21.70 [21.66–21.74] +2.18% No
4 KiB 1 ms 1/16 24.89 [24.57–25.22] 25.28 [23.68–25.55] +1.58% Yes
4 KiB 1 ms 1/64 24.30 [23.91–25.06] 24.30 [24.18–24.36] −0.00% Yes
4 KiB 1 ms 4/4 41.86 [40.43–44.90] 46.02 [30.98–47.95] +9.94% Yes
4 KiB 1 ms 4/16 52.96 [52.46–53.11] 53.70 [53.46–53.89] +1.40% No
4 KiB 1 ms 4/64 54.93 [54.80–55.47] 55.57 [55.37–56.03] +1.16% Yes

P50 response time (ms)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 0.198 [0.197–0.198] 0.203 [0.202–0.203] +2.62% No
64 B Continuous 1/4 0.845 [0.844–0.845] 0.870 [0.869–0.879] +3.00% No
64 B Continuous 1/16 3.428 [3.393–3.429] 3.522 [3.489–3.526] +2.75% No
64 B Continuous 1/64 14.066 [13.923–14.085] 14.078 [14.072–14.089] +0.08% Yes
64 B Continuous 4/4 0.267 [0.267–0.268] 0.268 [0.267–0.269] +0.14% Yes
64 B Continuous 4/16 1.056 [1.056–1.061] 1.058 [1.058–1.071] +0.11% Yes
64 B Continuous 4/64 4.238 [4.206–4.257] 4.226 [4.226–4.238] −0.29% Yes
64 B 1 ms 1/1 0.999 [0.999–1.000] 1.000 [1.000–1.000] +0.04% No
64 B 1 ms 1/4 1.000 [0.999–1.001] 1.003 [1.002–1.012] +0.28% No
64 B 1 ms 1/16 3.416 [3.405–3.528] 3.434 [3.427–3.440] +0.54% Yes
64 B 1 ms 1/64 13.981 [13.966–13.982] 13.984 [13.978–14.082] +0.02% Yes
64 B 1 ms 4/4 0.994 [0.994–0.995] 1.000 [0.999–1.000] +0.54% No
64 B 1 ms 4/16 1.027 [1.025–1.031] 1.029 [1.026–1.031] +0.26% Yes
64 B 1 ms 4/64 4.014 [4.012–4.023] 4.025 [4.019–4.026] +0.27% Yes
4 KiB Continuous 1/1 0.226 [0.226–0.227] 0.228 [0.227–0.228] +0.57% Yes
4 KiB Continuous 1/4 0.949 [0.948–0.952] 0.955 [0.954–0.956] +0.69% No
4 KiB Continuous 1/16 3.826 [3.818–3.831] 3.829 [3.825–3.829] +0.07% Yes
4 KiB Continuous 1/64 15.360 [15.324–15.380] 15.364 [15.338–15.394] +0.03% Yes
4 KiB Continuous 4/4 0.298 [0.295–0.298] 0.297 [0.297–0.297] −0.18% Yes
4 KiB Continuous 4/16 1.186 [1.169–1.191] 1.185 [1.183–1.188] −0.12% Yes
4 KiB Continuous 4/64 4.745 [4.727–4.774] 4.737 [4.713–4.783] −0.19% Yes
4 KiB 1 ms 1/1 0.998 [0.998–0.998] 0.999 [0.999–0.999] +0.03% No
4 KiB 1 ms 1/4 0.998 [0.998–0.999] 1.001 [1.000–1.001] +0.28% No
4 KiB 1 ms 1/16 3.822 [3.717–3.890] 3.912 [3.872–3.940] +2.38% Yes
4 KiB 1 ms 1/64 15.461 [15.167–15.465] 15.341 [15.333–15.449] −0.78% Yes
4 KiB 1 ms 4/4 0.994 [0.992–0.994] 0.999 [0.998–1.000] +0.52% No
4 KiB 1 ms 4/16 1.036 [1.034–1.041] 1.057 [1.047–1.059] +1.96% No
4 KiB 1 ms 4/64 4.837 [4.824–4.846] 4.819 [4.815–4.858] −0.37% Yes

P99 response time (ms)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 0.221 [0.221–0.227] 0.222 [0.221–0.223] +0.66% Yes
64 B Continuous 1/4 0.904 [0.898–0.907] 0.921 [0.915–0.924] +1.82% No
64 B Continuous 1/16 3.580 [3.575–3.581] 3.619 [3.616–3.634] +1.07% No
64 B Continuous 1/64 15.392 [14.781–15.411] 15.160 [14.264–21.343] −1.51% Yes
64 B Continuous 4/4 0.328 [0.322–0.332] 0.338 [0.335–0.350] +3.06% No
64 B Continuous 4/16 1.217 [1.190–1.224] 1.224 [1.193–1.879] +0.59% Yes
64 B Continuous 4/64 4.789 [4.613–4.814] 4.598 [4.593–4.619] −3.98% Yes
64 B 1 ms 1/1 1.492 [1.292–1.499] 1.490 [1.474–1.824] −0.11% Yes
64 B 1 ms 1/4 2.112 [2.104–2.185] 2.143 [2.126–2.181] +1.50% Yes
64 B 1 ms 1/16 4.441 [4.418–4.487] 4.453 [4.439–4.457] +0.27% Yes
64 B 1 ms 1/64 15.087 [15.042–15.120] 15.090 [15.067–15.430] +0.02% Yes
64 B 1 ms 4/4 1.484 [1.482–1.485] 1.490 [1.481–1.872] +0.42% Yes
64 B 1 ms 4/16 2.304 [2.288–2.307] 2.273 [2.251–2.341] −1.34% Yes
64 B 1 ms 4/64 5.194 [5.178–5.209] 5.246 [5.184–5.277] +1.01% Yes
4 KiB Continuous 1/1 0.255 [0.254–0.381] 0.248 [0.248–0.319] −2.74% Yes
4 KiB Continuous 1/4 0.996 [0.993–0.999] 0.993 [0.990–0.993] −0.38% No
4 KiB Continuous 1/16 4.954 [3.970–5.626] 3.976 [3.904–4.056] −19.75% Yes
4 KiB Continuous 1/64 16.141 [15.818–16.351] 16.032 [15.657–16.246] −0.67% Yes
4 KiB Continuous 4/4 0.379 [0.376–0.436] 0.374 [0.365–0.377] −1.18% Yes
4 KiB Continuous 4/16 1.359 [1.336–1.394] 1.354 [1.354–1.362] −0.37% Yes
4 KiB Continuous 4/64 5.347 [5.131–5.650] 5.086 [4.981–6.385] −4.87% Yes
4 KiB 1 ms 1/1 1.482 [1.481–1.485] 1.486 [1.483–1.923] +0.25% Yes
4 KiB 1 ms 1/4 2.240 [2.237–2.240] 2.238 [2.234–2.244] −0.09% Yes
4 KiB 1 ms 1/16 4.620 [4.514–4.743] 4.759 [4.683–5.035] +3.01% Yes
4 KiB 1 ms 1/64 16.466 [16.418–16.468] 16.476 [16.457–16.951] +0.06% Yes
4 KiB 1 ms 4/4 1.482 [1.479–1.513] 1.498 [1.489–1.557] +1.13% Yes
4 KiB 1 ms 4/16 2.382 [2.350–2.401] 2.368 [2.363–2.371] −0.57% Yes
4 KiB 1 ms 4/64 5.449 [5.436–5.449] 5.451 [5.448–5.452] +0.04% Yes

Process peak RSS (MiB)

Payload Owner update Connections/outstanding Callback median [range] Coroutine median [range] Coroutine change Ranges overlap
64 B Continuous 1/1 8.219 [8.219–8.266] 8.328 [8.250–8.375] +1.33% Yes
64 B Continuous 1/4 8.281 [8.266–8.281] 8.297 [8.266–8.375] +0.19% Yes
64 B Continuous 1/16 8.281 [8.172–8.297] 8.406 [8.344–8.406] +1.51% No
64 B Continuous 1/64 8.391 [8.344–8.422] 8.609 [8.594–8.688] +2.61% No
64 B Continuous 4/4 9.125 [9.125–9.297] 9.234 [9.203–9.234] +1.20% Yes
64 B Continuous 4/16 9.172 [9.141–9.234] 9.250 [9.219–9.297] +0.85% Yes
64 B Continuous 4/64 9.234 [9.219–9.313] 9.500 [9.406–9.500] +2.88% No
64 B 1 ms 1/1 8.141 [8.141–8.188] 8.219 [8.219–8.281] +0.96% No
64 B 1 ms 1/4 8.203 [8.188–8.234] 8.266 [8.188–8.266] +0.76% Yes
64 B 1 ms 1/16 8.203 [8.125–8.219] 8.375 [8.297–8.375] +2.10% No
64 B 1 ms 1/64 8.313 [8.281–8.313] 8.531 [8.500–8.594] +2.63% No
64 B 1 ms 4/4 8.828 [8.781–8.828] 8.828 [8.781–9.000] +0.00% Yes
64 B 1 ms 4/16 8.969 [8.938–8.984] 9.031 [8.984–9.078] +0.70% Yes
64 B 1 ms 4/64 9.000 [8.984–9.078] 9.359 [9.281–9.375] +3.99% No
4 KiB Continuous 1/1 8.391 [8.344–8.438] 8.469 [8.406–8.516] +0.93% Yes
4 KiB Continuous 1/4 8.359 [8.344–8.438] 8.500 [8.406–8.516] +1.68% Yes
4 KiB Continuous 1/16 8.688 [8.672–8.781] 8.781 [8.750–8.813] +1.08% Yes
4 KiB Continuous 1/64 9.578 [9.531–9.641] 9.859 [9.844–9.875] +2.94% No
4 KiB Continuous 4/4 9.594 [9.344–9.641] 9.547 [9.516–9.578] −0.49% Yes
4 KiB Continuous 4/16 9.766 [9.688–9.797] 9.859 [9.797–9.906] +0.96% Yes
4 KiB Continuous 4/64 10.672 [10.656–10.703] 10.891 [10.828–10.953] +2.05% No
4 KiB 1 ms 1/1 8.313 [8.234–8.359] 8.359 [8.359–8.406] +0.56% Yes
4 KiB 1 ms 1/4 8.406 [8.344–8.453] 8.438 [8.375–8.578] +0.37% Yes
4 KiB 1 ms 1/16 8.641 [8.625–8.719] 8.797 [8.781–8.797] +1.81% No
4 KiB 1 ms 1/64 9.547 [9.531–9.563] 9.797 [9.734–9.859] +2.62% No
4 KiB 1 ms 4/4 9.141 [9.063–9.266] 9.203 [9.172–9.203] +0.68% Yes
4 KiB 1 ms 4/16 9.688 [9.672–9.688] 9.813 [9.734–9.828] +1.29% No
4 KiB 1 ms 4/64 10.531 [10.484–10.594] 10.750 [10.609–10.766] +2.08% No

Measurement scope

Item Configuration
Machine Mac mini Mac16,11 · Apple M4 Pro · 14 cores (10 performance + 4 efficiency) · 48 GiB
OS / compiler macOS 27.0.1 (26A434) · LLVM 22.1.7 · Release, no sanitizers
Dependencies / services Boost 1.90.0 · OpenSSL 3.6.4 · MySQL Community 8.4.11 · Redis 7.4.2
Execution One owner thread + one IO context/worker shared by the pool; 1/4 connections do not change the worker count; local IPv4 loopback
Work One binary Redis ECHO or one MySQL text SELECT with verified TLS; 64 B / 4 KiB
Updates / repeats Continuous polling or 1 ms cadence; alternating callback/coroutine order; 3 fresh processes per mode/cell
Counts 5,044,224 measured and 768,000 warmup operations; fixed counts, not fixed duration
CPU Complete client process; 100% = one logical core; database process excluded
Response time Owner submission to owner delivery, including pool lease/reset wait, IO, database and owner cadence
UTC interval 2026-10-15T20:22:07Z to 2026-10-15T20:31:57Z
Source ark ab6f82f320a472869a06e155c2c73c3d7728354b; arknet 2aa5bc0ef7d383d8cfbc04520f3b952fa27c5fbd

Individual measured intervals are 0.383–3.046 seconds, with 80/336 intervals shorter than one second; these results alone do not determine an API choice. Connection/runtime construction and warmup are excluded. Owning validation, refill and coroutine task/bridge work are included in wall time/CPU. Cadence does not catch up missed ticks. Each request returns its lease and follows native pool reset policy; this is not a native client peak-throughput or protocol-pipeline test with a permanently held connection.

Fixed operation counts and raw evidence
Update cadence Connections/outstanding Measured per process Warmup per process
Continuous 1/1 10,000 1,000
Continuous 1/4 10,000 1,000
Continuous 1/16 10,000 1,000
Continuous 1/64 10,000 1,000
Continuous 4/4 40,000 4,000
Continuous 4/16 40,000 4,000
Continuous 4/64 40,000 4,000
1 ms 1/1 1,024 1,000
1 ms 1/4 4,096 1,000
1 ms 1/16 4,096 1,000
1 ms 1/64 4,096 1,000
1 ms 4/4 4,096 4,000
1 ms 4/16 16,384 4,000
1 ms 4/64 16,384 4,000

Raw records and source/binary/dependency hashes remain in the independent local measurement directory, outside the source repository, with no published download. The generator checks all 336 process outputs, exit codes and stderr, then computes all 56 paired medians/ranges/changes. Formal C++ benchmark usage provides build/run instructions and metric definitions.

  • The hash lock covers only its 2,436 recorded inputs; MySQL @loader_path relative dynamic libraries are not a complete transitive dependency hash closure.
  • The recorded ninja -n output proposes CMake regeneration; no rebuild was executed and pre-measurement hashes were not reconstructed afterward. These limits do not demonstrate a dependency change.

These closed-loop, local short-duration results do not establish saturation capacity, cross-host behavior, production-duration endurance or cluster PCU.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close