Skip to content

Store ready-queue links as pointers for Fil-C - #405

Merged
sgerbino merged 5 commits into
cppalliance:developfrom
gene-hightower:fil-c
Oct 23, 2026
Merged

sgerbino merged 5 commits into
cppalliance:developfrom
gene-hightower:fil-c

Conversation

@gene-hightower

Copy link
Copy Markdown
Contributor

…rs in the LLVM IR.

In the non-Fil-c case, I would expect these changes to make no difference in the generated code.

I would expect these changes to work for CHERI and CHERIoT systems as well, but I have not tested on those platforms.

@cppalliance-bot

cppalliance-bot commented Oct 22, 2026 •

Copy link
Copy Markdown

An automated preview of the documentation is available at https://405.corosio.prtest3.cppalliance.org/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-10-23 02:00:06 UTC

@cppalliance-bot

cppalliance-bot commented Oct 22, 2026 •

Copy link
Copy Markdown

GCOVR code coverage report https://405.corosio.prtest3.cppalliance.org/gcovr/index.html
LCOV code coverage report https://405.corosio.prtest3.cppalliance.org/genhtml/index.html
Coverage Diff Report https://405.corosio.prtest3.cppalliance.org/diff-report/index.html

Build time: 2026-10-23 02:17:50 UTC

@sgerbino sgerbino added the benchmark Triggers benchmark suite label Oct 22, 2026
@github-actions github-actions Bot removed the benchmark Triggers benchmark suite label Oct 22, 2026
@github-actions

Copy link
Copy Markdown

Benchmark report

f009395950d4 (base) vs fa32cc8612e5 (head)

  • ✅ linux — clean (epoll, uring)
  • ✅ windows — clean (iocp)
  • ✅ macos — clean (kqueue)
linux — full results (226 benchmarks, 5 iterations, 1.5s each)

accept_churn

Benchmark Backend Metric Base Head Δ Noise
burst/10 epoll ops_per_sec 1.92K ops/s 1.91K ops/s 🔴▼ -0.11% 0.94%
burst/10 uring ops_per_sec 1.82K ops/s 1.81K ops/s 🔴▼ -0.29% 1.03%
burst/100 epoll ops_per_sec 193.3 ops/s 194.4 ops/s 🟢▲ +0.05% 1.23%
burst/100 uring ops_per_sec 187.6 ops/s 186.5 ops/s 🔴▼ -1.10% 0.57%
burst_lockless/10 epoll ops_per_sec 1.93K ops/s 1.94K ops/s 🟢▲ +0.07% 1.41%
burst_lockless/10 uring ops_per_sec 1.93K ops/s 1.94K ops/s 🟢▲ +0.25% 0.19%
burst_lockless/100 epoll ops_per_sec 195.2 ops/s 196.7 ops/s 🔴▼ -0.07% 1.35%
burst_lockless/100 uring ops_per_sec 200.0 ops/s 199.9 ops/s 🔴▼ -0.04% 0.60%
concurrent/1 epoll ops_per_sec 15.26K ops/s 15.29K ops/s 🟢▲ +0.35% 1.04%
concurrent/1 uring ops_per_sec 13.66K ops/s 13.64K ops/s 🔴▼ -0.37% 0.94%
concurrent/16 epoll ops_per_sec 15.32K ops/s 15.34K ops/s 🟢▲ +0.11% 0.98%
concurrent/16 uring ops_per_sec 13.61K ops/s 13.57K ops/s 🔴▼ -0.28% 0.69%
concurrent/4 epoll ops_per_sec 15.34K ops/s 15.28K ops/s 🔴▼ -0.68% 0.78%
concurrent/4 uring ops_per_sec 13.60K ops/s 13.59K ops/s 🔴▼ -0.32% 1.01%
sequential epoll ops_per_sec 15.28K ops/s 15.27K ops/s 🟢▲ +0.66% 1.06%
sequential uring ops_per_sec 13.62K ops/s 13.67K ops/s 🟢▲ +0.01% 0.75%
sequential_lockless epoll ops_per_sec 15.45K ops/s 15.44K ops/s 🔴▼ -0.26% 1.10%
sequential_lockless uring ops_per_sec 14.54K ops/s 14.58K ops/s 🔴▼ -0.03% 1.03%

fan_out

Benchmark Backend Metric Base Head Δ Noise
concurrent_parents/1 epoll ops_per_sec 3.69K ops/s 3.72K ops/s 🔴▼ -0.14% 1.36%
concurrent_parents/1 uring ops_per_sec 3.45K ops/s 3.41K ops/s 🔴▼ -0.77% 0.98%
concurrent_parents/16 epoll ops_per_sec 3.61K ops/s 3.61K ops/s 🟢▲ +0.90% 1.05%
concurrent_parents/16 uring ops_per_sec 3.33K ops/s 3.30K ops/s 🔴▼ -0.42% 1.13%
concurrent_parents/4 epoll ops_per_sec 3.60K ops/s 3.62K ops/s 🔴▼ -0.21% 1.27%
concurrent_parents/4 uring ops_per_sec 3.35K ops/s 3.33K ops/s 🔴▼ -0.43% 1.02%
concurrent_parents_lockless/1 epoll ops_per_sec 3.74K ops/s 3.75K ops/s ⚪ 0.00% 1.24%
concurrent_parents_lockless/1 uring ops_per_sec 3.48K ops/s 3.45K ops/s 🔴▼ -0.62% 0.72%
concurrent_parents_lockless/16 epoll ops_per_sec 3.62K ops/s 3.63K ops/s ⚪ 0.00% 1.02%
concurrent_parents_lockless/16 uring ops_per_sec 3.35K ops/s 3.34K ops/s 🔴▼ -0.50% 0.30%
concurrent_parents_lockless/4 epoll ops_per_sec 3.64K ops/s 3.65K ops/s 🟢▲ +0.17% 1.27%
concurrent_parents_lockless/4 uring ops_per_sec 3.38K ops/s 3.36K ops/s 🔴▼ -0.56% 0.24%
fork_join/1 epoll ops_per_sec 54.26K ops/s 54.85K ops/s 🟢▲ +0.41% 1.24%
fork_join/1 uring ops_per_sec 53.47K ops/s 53.09K ops/s 🔴▼ -0.34% 1.12%
fork_join/16 epoll ops_per_sec 3.67K ops/s 3.72K ops/s 🟢▲ +0.48% 1.36%
fork_join/16 uring ops_per_sec 3.44K ops/s 3.44K ops/s 🔴▼ -0.41% 1.12%
fork_join/4 epoll ops_per_sec 14.56K ops/s 14.74K ops/s 🟢▲ +0.65% 1.27%
fork_join/4 uring ops_per_sec 13.76K ops/s 13.69K ops/s 🔴▼ -0.29% 1.16%
fork_join/64 epoll ops_per_sec 898.7 ops/s 904.5 ops/s 🟢▲ +0.02% 1.06%
fork_join/64 uring ops_per_sec 814.5 ops/s 814.6 ops/s 🔴▼ -0.29% 1.21%
fork_join_lockless/1 epoll ops_per_sec 55.05K ops/s 55.44K ops/s 🟢▲ +0.46% 1.08%
fork_join_lockless/1 uring ops_per_sec 53.89K ops/s 53.93K ops/s 🔴▼ -0.26% 1.29%
fork_join_lockless/16 epoll ops_per_sec 3.72K ops/s 3.74K ops/s 🟢▲ +0.28% 1.07%
fork_join_lockless/16 uring ops_per_sec 3.47K ops/s 3.47K ops/s 🔴▼ -0.26% 1.23%
fork_join_lockless/4 epoll ops_per_sec 14.71K ops/s 14.82K ops/s 🟢▲ +0.41% 1.13%
fork_join_lockless/4 uring ops_per_sec 13.84K ops/s 13.87K ops/s 🔴▼ -0.11% 1.33%
fork_join_lockless/64 epoll ops_per_sec 906.5 ops/s 908.8 ops/s 🟢▲ +0.29% 0.42%
fork_join_lockless/64 uring ops_per_sec 825.1 ops/s 821.7 ops/s 🔴▼ -0.38% 0.34%
nested/16 epoll ops_per_sec 894.4 ops/s 894.6 ops/s 🟢▲ +0.14% 1.08%
nested/16 uring ops_per_sec 807.1 ops/s 800.3 ops/s 🔴▼ -0.36% 1.02%
nested/4 epoll ops_per_sec 3.65K ops/s 3.67K ops/s 🟢▲ +0.36% 1.17%
nested/4 uring ops_per_sec 3.39K ops/s 3.37K ops/s 🔴▼ -0.64% 0.14%
nested_lockless/16 epoll ops_per_sec 904.6 ops/s 908.2 ops/s 🔴▼ -0.27% 1.23%
nested_lockless/16 uring ops_per_sec 820.4 ops/s 811.8 ops/s 🔴▼ -0.85% 1.01%
nested_lockless/4 epoll ops_per_sec 3.72K ops/s 3.72K ops/s 🟢▲ +0.22% 1.18%
nested_lockless/4 uring ops_per_sec 3.45K ops/s 3.42K ops/s 🔴▼ -0.58% 1.12%

http_server

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 epoll ops_per_sec 54.90K ops/s 55.40K ops/s 🟢▲ +0.71% 1.50%
concurrent/1 uring ops_per_sec 53.85K ops/s 53.44K ops/s 🔴▼ -1.13% 0.97%
concurrent/16 epoll ops_per_sec 57.85K ops/s 58.37K ops/s 🟢▲ +0.89% 1.40%
concurrent/16 uring ops_per_sec 53.58K ops/s 52.72K ops/s 🔴▼ -1.49% 1.45%
concurrent/32 epoll ops_per_sec 57.44K ops/s 57.75K ops/s 🟢▲ +0.43% 1.05%
concurrent/32 uring ops_per_sec 53.14K ops/s 52.41K ops/s 🔴▼ -1.28% 1.40%
concurrent/4 epoll ops_per_sec 57.20K ops/s 57.69K ops/s 🟢▲ +0.69% 1.30%
concurrent/4 uring ops_per_sec 53.53K ops/s 52.94K ops/s 🔴▼ -0.60% 1.18%
multithread/1 epoll ops_per_sec 57.39K ops/s 57.63K ops/s 🟢▲ +0.40% 1.04%
multithread/1 uring ops_per_sec 53.06K ops/s 52.35K ops/s 🔴▼ -0.87% 1.39%
multithread/16 epoll ops_per_sec 161.6K ops/s 162.4K ops/s 🟢▲ +0.61% 0.28%
multithread/16 uring ops_per_sec 76.30K ops/s 75.97K ops/s 🔴▼ -0.45% 19.55%
multithread/2 epoll ops_per_sec 86.46K ops/s 86.92K ops/s 🟢▲ +0.29% 0.54%
multithread/2 uring ops_per_sec 91.46K ops/s 90.82K ops/s 🔴▼ -0.56% 1.11%
multithread/4 epoll ops_per_sec 159.0K ops/s 159.3K ops/s 🟢▲ +0.25% 0.57%
multithread/4 uring ops_per_sec 80.43K ops/s 80.08K ops/s 🟢▲ +0.17% 1.27%
multithread/8 epoll ops_per_sec 160.6K ops/s 161.9K ops/s 🟢▲ +0.78% 0.58%
multithread/8 uring ops_per_sec 78.32K ops/s 65.54K ops/s 🔴▼ -0.57% 25.97%
single_conn epoll ops_per_sec 54.71K ops/s 55.59K ops/s 🟢▲ +2.39% 1.60%
single_conn uring ops_per_sec 53.62K ops/s 53.37K ops/s 🔴▼ -0.74% 0.80%
single_conn_lockless epoll ops_per_sec 55.57K ops/s 56.07K ops/s 🟢▲ +0.36% 1.63%
single_conn_lockless uring ops_per_sec 54.20K ops/s 53.99K ops/s 🔴▼ -0.63% 0.77%

local_socket_latency

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 epoll latency_mean_ns 7.26 µs 7.21 µs 🟢▲ +0.46% 4.05%
concurrent/1 uring latency_mean_ns 6.75 µs 6.76 µs 🔴▼ -0.07% 4.55%
concurrent/16 epoll latency_mean_ns 109.42 µs 110.53 µs 🔴▼ -0.78% 0.86%
concurrent/16 uring latency_mean_ns 108.64 µs 109.38 µs 🔴▼ -0.21% 0.78%
concurrent/4 epoll latency_mean_ns 27.46 µs 28.07 µs 🔴▼ -3.41% 1.36%
concurrent/4 uring latency_mean_ns 27.14 µs 27.15 µs 🔴▼ -0.10% 1.46%
concurrent_lockless/1 epoll latency_mean_ns 7.12 µs 7.54 µs 🔴▼ -8.07% 4.63%
concurrent_lockless/1 uring latency_mean_ns 6.72 µs 6.76 µs 🔴▼ -0.42% 4.62%
concurrent_lockless/16 epoll latency_mean_ns 108.28 µs 108.91 µs 🔴▼ -0.59% 1.16%
concurrent_lockless/16 uring latency_mean_ns 108.19 µs 108.98 µs 🔴▼ -0.55% 0.72%
concurrent_lockless/4 epoll latency_mean_ns 27.32 µs 27.64 µs 🔴▼ -0.67% 1.45%
concurrent_lockless/4 uring latency_mean_ns 27.04 µs 26.96 µs 🔴▼ -0.33% 1.76%
pingpong/1 epoll latency_mean_ns 7.18 µs 7.05 µs 🔴▼ -0.15% 3.61%
pingpong/1 uring latency_mean_ns 6.81 µs 6.72 µs 🟢▲ +0.06% 5.40%
pingpong/1024 epoll latency_mean_ns 7.72 µs 7.67 µs 🟢▲ +0.63% 4.64%
pingpong/1024 uring latency_mean_ns 7.35 µs 7.26 µs 🟢▲ +0.06% 4.89%
pingpong/64 epoll latency_mean_ns 7.11 µs 7.22 µs 🟢▲ +0.04% 4.62%
pingpong/64 uring latency_mean_ns 6.72 µs 6.64 µs 🔴▼ -0.03% 3.08%
pingpong_lockless/1 epoll latency_mean_ns 7.10 µs 7.24 µs 🔴▼ -0.70% 4.71%
pingpong_lockless/1 uring latency_mean_ns 6.56 µs 6.58 µs 🔴▼ -0.25% 0.35%
pingpong_lockless/1024 epoll latency_mean_ns 7.64 µs 7.50 µs 🔴▼ -0.05% 5.19%
pingpong_lockless/1024 uring latency_mean_ns 7.12 µs 7.14 µs 🔴▼ -0.56% 5.12%
pingpong_lockless/64 epoll latency_mean_ns 7.27 µs 7.15 µs 🔴▼ -0.34% 5.29%
pingpong_lockless/64 uring latency_mean_ns 6.82 µs 6.88 µs 🔴▼ -0.11% 5.37%

local_socket_throughput

Benchmark Backend Metric Base Head Δ Noise
bidirectional/1024 epoll bytes_per_sec 305.0 MB/s 303.3 MB/s 🔴▼ -0.50% 1.51%
bidirectional/1024 uring bytes_per_sec 300.2 MB/s 300.3 MB/s 🔴▼ -0.03% 0.61%
bidirectional/1048576 epoll bytes_per_sec 3.15 GB/s 3.17 GB/s 🟢▲ +1.16% 2.31%
bidirectional/1048576 uring bytes_per_sec 3.29 GB/s 3.27 GB/s 🔴▼ -0.30% 1.94%
bidirectional/16384 epoll bytes_per_sec 3.02 GB/s 3.03 GB/s 🟢▲ +4.11% 5.51%
bidirectional/16384 uring bytes_per_sec 2.41 GB/s 2.40 GB/s 🔴▼ -0.51% 1.18%
bidirectional/262144 epoll bytes_per_sec 3.21 GB/s 3.19 GB/s 🟢▲ +0.19% 1.54%
bidirectional/262144 uring bytes_per_sec 3.27 GB/s 3.27 GB/s 🔴▼ -0.38% 2.12%
bidirectional/4096 epoll bytes_per_sec 1.00 GB/s 993.9 MB/s 🔴▼ -0.41% 1.94%
bidirectional/4096 uring bytes_per_sec 985.4 MB/s 990.8 MB/s 🟢▲ +0.32% 0.47%
bidirectional/65536 epoll bytes_per_sec 2.96 GB/s 2.97 GB/s 🔴▼ -0.60% 1.62%
bidirectional/65536 uring bytes_per_sec 3.04 GB/s 2.99 GB/s 🔴▼ -2.34% 1.51%
bidirectional_lockless/1024 epoll bytes_per_sec 307.9 MB/s 308.1 MB/s 🟢▲ +0.34% 1.12%
bidirectional_lockless/1024 uring bytes_per_sec 302.1 MB/s 300.8 MB/s 🔴▼ -0.53% 0.39%
bidirectional_lockless/1048576 epoll bytes_per_sec 3.16 GB/s 3.20 GB/s 🟢▲ +1.48% 2.99%
bidirectional_lockless/1048576 uring bytes_per_sec 3.30 GB/s 3.29 GB/s 🔴▼ -0.45% 2.24%
bidirectional_lockless/16384 epoll bytes_per_sec 3.06 GB/s 3.07 GB/s 🟢▲ +2.30% 4.61%
bidirectional_lockless/16384 uring bytes_per_sec 2.43 GB/s 2.41 GB/s 🔴▼ -1.34% 0.73%
bidirectional_lockless/262144 epoll bytes_per_sec 3.23 GB/s 3.22 GB/s 🔴▼ -0.14% 1.95%
bidirectional_lockless/262144 uring bytes_per_sec 3.28 GB/s 3.27 GB/s 🔴▼ -0.93% 2.11%
bidirectional_lockless/4096 epoll bytes_per_sec 1.02 GB/s 1.01 GB/s 🔴▼ -0.02% 1.10%
bidirectional_lockless/4096 uring bytes_per_sec 994.8 MB/s 993.8 MB/s 🔴▼ -0.04% 0.89%
bidirectional_lockless/65536 epoll bytes_per_sec 2.98 GB/s 3.00 GB/s 🔴▼ -0.38% 2.19%
bidirectional_lockless/65536 uring bytes_per_sec 3.05 GB/s 3.02 GB/s 🔴▼ -1.05% 1.50%
unidirectional/1024 epoll bytes_per_sec 296.8 MB/s 297.7 MB/s 🟢▲ +0.42% 1.02%
unidirectional/1024 uring bytes_per_sec 301.6 MB/s 300.7 MB/s 🔴▼ -0.34% 0.49%
unidirectional/1048576 epoll bytes_per_sec 3.28 GB/s 3.30 GB/s 🔴▼ -0.71% 3.29%
unidirectional/1048576 uring bytes_per_sec 3.44 GB/s 3.42 GB/s 🔴▼ -1.02% 2.28%
unidirectional/16384 epoll bytes_per_sec 3.05 GB/s 2.98 GB/s 🟢▲ +0.59% 9.88%
unidirectional/16384 uring bytes_per_sec 2.63 GB/s 2.66 GB/s 🟢▲ +1.36% 0.92%
unidirectional/262144 epoll bytes_per_sec 3.33 GB/s 3.31 GB/s 🔴▼ -0.40% 2.37%
unidirectional/262144 uring bytes_per_sec 3.36 GB/s 3.45 GB/s 🟢▲ +2.50% 2.95%
unidirectional/4096 epoll bytes_per_sec 984.7 MB/s 972.7 MB/s 🔴▼ -0.75% 1.17%
unidirectional/4096 uring bytes_per_sec 986.8 MB/s 991.6 MB/s 🟢▲ +0.44% 0.48%
unidirectional/65536 epoll bytes_per_sec 3.18 GB/s 3.27 GB/s 🟢▲ +1.34% 3.61%
unidirectional/65536 uring bytes_per_sec 3.33 GB/s 3.28 GB/s 🔴▼ -1.05% 2.22%
unidirectional_lockless/1024 epoll bytes_per_sec 301.0 MB/s 302.1 MB/s 🟢▲ +0.43% 0.93%
unidirectional_lockless/1024 uring bytes_per_sec 302.9 MB/s 302.3 MB/s 🟢▲ +0.05% 0.57%
unidirectional_lockless/1048576 epoll bytes_per_sec 3.29 GB/s 3.32 GB/s 🟢▲ +0.14% 2.16%
unidirectional_lockless/1048576 uring bytes_per_sec 3.42 GB/s 3.44 GB/s 🟢▲ +1.13% 3.41%
unidirectional_lockless/16384 epoll bytes_per_sec 3.07 GB/s 2.93 GB/s 🔴▼ -1.20% 9.80%
unidirectional_lockless/16384 uring bytes_per_sec 2.67 GB/s 2.68 GB/s 🟢▲ +0.48% 0.96%
unidirectional_lockless/262144 epoll bytes_per_sec 3.35 GB/s 3.35 GB/s 🔴▼ -0.52% 2.21%
unidirectional_lockless/262144 uring bytes_per_sec 3.38 GB/s 3.47 GB/s 🟢▲ +2.84% 2.65%
unidirectional_lockless/4096 epoll bytes_per_sec 994.6 MB/s 994.9 MB/s 🟢▲ +0.57% 1.71%
unidirectional_lockless/4096 uring bytes_per_sec 1.00 GB/s 997.3 MB/s 🔴▼ -0.47% 0.91%
unidirectional_lockless/65536 epoll bytes_per_sec 3.24 GB/s 3.28 GB/s 🟢▲ +1.42% 2.88%
unidirectional_lockless/65536 uring bytes_per_sec 3.31 GB/s 3.31 GB/s 🟢▲ +0.48% 2.11%

socket_latency

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 epoll latency_mean_ns 14.80 µs 14.67 µs 🟢▲ +0.27% 1.37%
concurrent/1 uring latency_mean_ns 14.41 µs 14.54 µs 🔴▼ -0.58% 1.59%
concurrent/16 epoll latency_mean_ns 232.98 µs 231.32 µs 🔴▼ -0.09% 1.41%
concurrent/16 uring latency_mean_ns 234.94 µs 235.25 µs 🔴▼ -0.20% 1.09%
concurrent/4 epoll latency_mean_ns 58.19 µs 57.71 µs 🟢▲ +0.04% 1.48%
concurrent/4 uring latency_mean_ns 58.06 µs 58.40 µs 🔴▼ -0.69% 1.32%
concurrent_lockless/1 epoll latency_mean_ns 14.70 µs 14.57 µs 🟢▲ +0.43% 1.34%
concurrent_lockless/1 uring latency_mean_ns 14.55 µs 14.50 µs 🔴▼ -0.19% 1.20%
concurrent_lockless/16 epoll latency_mean_ns 231.51 µs 228.83 µs 🟢▲ +2.05% 1.52%
concurrent_lockless/16 uring latency_mean_ns 235.07 µs 234.72 µs 🔴▼ -0.32% 1.12%
concurrent_lockless/4 epoll latency_mean_ns 57.76 µs 57.27 µs 🟢▲ +0.49% 1.43%
concurrent_lockless/4 uring latency_mean_ns 58.44 µs 58.26 µs 🔴▼ -0.12% 1.34%
pingpong/1 epoll latency_mean_ns 14.73 µs 14.59 µs 🟢▲ +0.06% 1.47%
pingpong/1 uring latency_mean_ns 14.46 µs 14.53 µs 🔴▼ -0.45% 0.24%
pingpong/1024 epoll latency_mean_ns 15.07 µs 14.94 µs 🟢▲ +0.16% 1.47%
pingpong/1024 uring latency_mean_ns 14.68 µs 14.90 µs 🔴▼ -0.73% 1.44%
pingpong/64 epoll latency_mean_ns 14.80 µs 14.64 µs 🟢▲ +0.23% 1.39%
pingpong/64 uring latency_mean_ns 14.46 µs 14.61 µs 🔴▼ -0.31% 1.35%
pingpong_lockless/1 epoll latency_mean_ns 14.62 µs 14.46 µs 🟢▲ +0.23% 1.48%
pingpong_lockless/1 uring latency_mean_ns 14.31 µs 14.54 µs 🔴▼ -0.78% 1.49%
pingpong_lockless/1024 epoll latency_mean_ns 14.96 µs 14.88 µs 🟢▲ +0.05% 1.15%
pingpong_lockless/1024 uring latency_mean_ns 14.65 µs 14.84 µs 🔴▼ -0.81% 1.53%
pingpong_lockless/64 epoll latency_mean_ns 14.70 µs 14.60 µs 🟢▲ +0.23% 1.12%
pingpong_lockless/64 uring latency_mean_ns 14.39 µs 14.58 µs 🔴▼ -0.42% 1.62%

socket_throughput

Benchmark Backend Metric Base Head Δ Noise
bidirectional/1024 epoll bytes_per_sec 133.7 MB/s 134.9 MB/s 🔴▼ -0.06% 1.25%
bidirectional/1024 uring bytes_per_sec 140.3 MB/s 139.7 MB/s 🔴▼ -0.36% 0.34%
bidirectional/1048576 epoll bytes_per_sec 3.22 GB/s 3.27 GB/s 🟢▲ +1.40% 2.00%
bidirectional/1048576 uring bytes_per_sec 3.21 GB/s 3.21 GB/s 🔴▼ -0.18% 1.10%
bidirectional/16384 epoll bytes_per_sec 1.63 GB/s 1.63 GB/s 🟢▲ +0.64% 2.36%
bidirectional/16384 uring bytes_per_sec 1.52 GB/s 1.51 GB/s 🔴▼ -0.06% 0.84%
bidirectional/262144 epoll bytes_per_sec 3.21 GB/s 3.22 GB/s 🟢▲ +0.96% 1.25%
bidirectional/262144 uring bytes_per_sec 3.16 GB/s 3.15 GB/s 🔴▼ -0.02% 1.56%
bidirectional/4096 epoll bytes_per_sec 504.4 MB/s 508.9 MB/s 🟢▲ +0.98% 1.28%
bidirectional/4096 uring bytes_per_sec 490.8 MB/s 489.1 MB/s 🔴▼ -0.41% 0.60%
bidirectional/65536 epoll bytes_per_sec 2.55 GB/s 2.54 GB/s 🔴▼ -0.09% 2.08%
bidirectional/65536 uring bytes_per_sec 2.79 GB/s 2.72 GB/s 🔴▼ -3.30% 1.34%
bidirectional_lockless/1024 epoll bytes_per_sec 134.7 MB/s 134.7 MB/s 🔴▼ -0.16% 1.51%
bidirectional_lockless/1024 uring bytes_per_sec 141.4 MB/s 140.1 MB/s 🔴▼ -0.53% 1.10%
bidirectional_lockless/1048576 epoll bytes_per_sec 3.24 GB/s 3.25 GB/s 🔴▼ -1.04% 2.64%
bidirectional_lockless/1048576 uring bytes_per_sec 3.20 GB/s 3.21 GB/s 🔴▼ -0.42% 1.42%
bidirectional_lockless/16384 epoll bytes_per_sec 1.62 GB/s 1.65 GB/s 🟢▲ +4.19% 2.43%
bidirectional_lockless/16384 uring bytes_per_sec 1.54 GB/s 1.54 GB/s 🟢▲ +0.89% 1.19%
bidirectional_lockless/262144 epoll bytes_per_sec 3.21 GB/s 3.21 GB/s 🔴▼ -1.17% 1.11%
bidirectional_lockless/262144 uring bytes_per_sec 3.13 GB/s 3.15 GB/s 🟢▲ +0.11% 1.07%
bidirectional_lockless/4096 epoll bytes_per_sec 507.7 MB/s 509.6 MB/s 🟢▲ +0.88% 1.91%
bidirectional_lockless/4096 uring bytes_per_sec 494.7 MB/s 492.5 MB/s 🔴▼ -0.67% 1.47%
bidirectional_lockless/65536 epoll bytes_per_sec 2.53 GB/s 2.54 GB/s 🔴▼ -0.71% 3.57%
bidirectional_lockless/65536 uring bytes_per_sec 2.78 GB/s 2.78 GB/s 🟢▲ +0.56% 2.49%
multithread/2 epoll bytes_per_sec 3.43 GB/s 3.41 GB/s 🔴▼ -0.43% 1.42%
multithread/2 uring bytes_per_sec 3.64 GB/s 3.64 GB/s 🔴▼ -0.24% 0.63%
multithread/4 epoll bytes_per_sec 4.86 GB/s 4.90 GB/s 🟢▲ +1.59% 0.82%
multithread/4 uring bytes_per_sec 5.08 GB/s 5.07 GB/s 🟢▲ +0.08% 0.29%
multithread/8 epoll bytes_per_sec 4.96 GB/s 4.97 GB/s 🟢▲ +0.22% 0.26%
multithread/8 uring bytes_per_sec 5.13 GB/s 5.13 GB/s 🟢▲ +0.21% 0.21%
unidirectional/1024 epoll bytes_per_sec 125.0 MB/s 126.0 MB/s 🟢▲ +0.46% 1.26%
unidirectional/1024 uring bytes_per_sec 138.8 MB/s 138.4 MB/s 🔴▼ -0.42% 0.44%
unidirectional/1048576 epoll bytes_per_sec 3.37 GB/s 3.36 GB/s 🔴▼ -0.13% 1.06%
unidirectional/1048576 uring bytes_per_sec 3.43 GB/s 3.42 GB/s 🟢▲ +0.62% 1.13%
unidirectional/16384 epoll bytes_per_sec 1.54 GB/s 1.55 GB/s 🟢▲ +0.47% 1.85%
unidirectional/16384 uring bytes_per_sec 1.53 GB/s 1.53 GB/s 🔴▼ -0.07% 1.13%
unidirectional/262144 epoll bytes_per_sec 3.28 GB/s 3.31 GB/s 🟢▲ +0.63% 1.23%
unidirectional/262144 uring bytes_per_sec 3.21 GB/s 3.20 GB/s 🔴▼ -0.30% 1.54%
unidirectional/4096 epoll bytes_per_sec 470.5 MB/s 474.4 MB/s 🟢▲ +0.66% 1.19%
unidirectional/4096 uring bytes_per_sec 489.9 MB/s 489.7 MB/s 🟢▲ +0.37% 1.01%
unidirectional/65536 epoll bytes_per_sec 2.70 GB/s 2.72 GB/s 🟢▲ +0.66% 4.72%
unidirectional/65536 uring bytes_per_sec 2.71 GB/s 2.71 GB/s 🔴▼ -0.17% 0.83%
unidirectional_lockless/1024 epoll bytes_per_sec 126.1 MB/s 125.9 MB/s 🔴▼ -0.38% 0.91%
unidirectional_lockless/1024 uring bytes_per_sec 139.7 MB/s 139.3 MB/s 🔴▼ -0.70% 1.15%
unidirectional_lockless/1048576 epoll bytes_per_sec 3.34 GB/s 3.35 GB/s 🟢▲ +0.21% 1.45%
unidirectional_lockless/1048576 uring bytes_per_sec 3.31 GB/s 3.37 GB/s 🟢▲ +0.42% 2.95%
unidirectional_lockless/16384 epoll bytes_per_sec 1.55 GB/s 1.57 GB/s 🟢▲ +1.00% 1.08%
unidirectional_lockless/16384 uring bytes_per_sec 1.61 GB/s 1.56 GB/s 🔴▼ -3.53% 2.37%
unidirectional_lockless/262144 epoll bytes_per_sec 3.34 GB/s 3.32 GB/s 🔴▼ -0.34% 1.42%
unidirectional_lockless/262144 uring bytes_per_sec 3.23 GB/s 3.23 GB/s 🔴▼ -0.12% 0.97%
unidirectional_lockless/4096 epoll bytes_per_sec 474.6 MB/s 474.4 MB/s 🔴▼ -0.37% 0.96%
unidirectional_lockless/4096 uring bytes_per_sec 489.3 MB/s 488.6 MB/s 🔴▼ -0.27% 1.12%
unidirectional_lockless/65536 epoll bytes_per_sec 2.71 GB/s 2.71 GB/s 🟢▲ +0.93% 4.95%
unidirectional_lockless/65536 uring bytes_per_sec 2.74 GB/s 2.71 GB/s 🔴▼ -0.80% 2.04%
windows — full results (77 benchmarks, 5 iterations, 1.5s each)

accept_churn

Benchmark Backend Metric Base Head Δ Noise
burst/10 iocp ops_per_sec 1.57K ops/s 1.57K ops/s 🔴▼ -0.07% 0.25%
burst/100 iocp ops_per_sec 156.8 ops/s 157.1 ops/s 🟢▲ +0.38% 0.45%
burst_lockless/10 iocp ops_per_sec 1.57K ops/s 1.57K ops/s 🔴▼ -0.06% 0.33%
burst_lockless/100 iocp ops_per_sec 159.9 ops/s 159.9 ops/s 🟢▲ +0.02% 0.45%
concurrent/1 iocp ops_per_sec 12.53K ops/s 12.52K ops/s 🔴▼ -0.05% 0.33%
concurrent/16 iocp ops_per_sec 13.47K ops/s 13.52K ops/s 🟢▲ +0.47% 0.31%
concurrent/4 iocp ops_per_sec 13.17K ops/s 13.20K ops/s 🟢▲ +0.34% 0.29%
sequential iocp ops_per_sec 12.52K ops/s 12.49K ops/s 🔴▼ -0.18% 0.28%
sequential_lockless iocp ops_per_sec 12.56K ops/s 12.53K ops/s 🔴▼ -0.37% 0.24%

fan_out

Benchmark Backend Metric Base Head Δ Noise
concurrent_parents/1 iocp ops_per_sec 7.33K ops/s 7.34K ops/s 🟢▲ +0.29% 0.31%
concurrent_parents/16 iocp ops_per_sec 6.24K ops/s 6.29K ops/s 🟢▲ +0.39% 1.50%
concurrent_parents/4 iocp ops_per_sec 6.87K ops/s 6.91K ops/s 🟢▲ +0.39% 1.02%
concurrent_parents_lockless/1 iocp ops_per_sec 7.31K ops/s 7.34K ops/s 🟢▲ +0.43% 0.19%
concurrent_parents_lockless/16 iocp ops_per_sec 6.39K ops/s 6.43K ops/s 🟢▲ +0.65% 1.33%
concurrent_parents_lockless/4 iocp ops_per_sec 6.93K ops/s 6.95K ops/s 🟢▲ +0.09% 0.87%
fork_join/1 iocp ops_per_sec 111.8K ops/s 111.8K ops/s 🟢▲ +0.19% 0.49%
fork_join/16 iocp ops_per_sec 7.32K ops/s 7.32K ops/s 🟢▲ +0.14% 0.28%
fork_join/4 iocp ops_per_sec 29.03K ops/s 29.10K ops/s 🟢▲ +0.30% 0.60%
fork_join/64 iocp ops_per_sec 1.72K ops/s 1.74K ops/s 🟢▲ +0.74% 1.47%
fork_join_lockless/1 iocp ops_per_sec 112.0K ops/s 112.3K ops/s 🟢▲ +0.20% 0.26%
fork_join_lockless/16 iocp ops_per_sec 7.33K ops/s 7.34K ops/s 🟢▲ +0.09% 0.18%
fork_join_lockless/4 iocp ops_per_sec 29.05K ops/s 29.07K ops/s 🔴▼ -0.05% 0.27%
fork_join_lockless/64 iocp ops_per_sec 1.72K ops/s 1.74K ops/s 🟢▲ +0.51% 1.29%
nested/16 iocp ops_per_sec 1.68K ops/s 1.69K ops/s 🟢▲ +0.33% 1.03%
nested/4 iocp ops_per_sec 7.11K ops/s 7.14K ops/s 🟢▲ +0.41% 0.20%
nested_lockless/16 iocp ops_per_sec 1.68K ops/s 1.69K ops/s 🟢▲ +0.32% 1.00%
nested_lockless/4 iocp ops_per_sec 7.13K ops/s 7.13K ops/s 🟢▲ +0.07% 0.18%

http_server

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 iocp ops_per_sec 111.1K ops/s 110.6K ops/s 🔴▼ -0.18% 0.55%
concurrent/16 iocp ops_per_sec 108.1K ops/s 108.1K ops/s 🔴▼ -0.03% 0.25%
concurrent/32 iocp ops_per_sec 107.5K ops/s 107.4K ops/s 🔴▼ -0.01% 0.40%
concurrent/4 iocp ops_per_sec 108.6K ops/s 108.3K ops/s 🟢▲ +0.05% 0.42%
multithread/1 iocp ops_per_sec 107.5K ops/s 107.3K ops/s 🔴▼ -0.03% 0.43%
multithread/16 iocp ops_per_sec 267.8K ops/s 267.5K ops/s 🔴▼ -0.12% 0.51%
multithread/2 iocp ops_per_sec 180.5K ops/s 181.0K ops/s 🟢▲ +0.65% 0.78%
multithread/4 iocp ops_per_sec 224.7K ops/s 225.9K ops/s 🟢▲ +0.26% 0.44%
multithread/8 iocp ops_per_sec 266.9K ops/s 267.1K ops/s 🔴▼ -0.04% 0.48%
single_conn iocp ops_per_sec 110.7K ops/s 110.8K ops/s 🟢▲ +0.41% 0.72%
single_conn_lockless iocp ops_per_sec 110.9K ops/s 110.8K ops/s 🔴▼ -0.14% 0.32%

socket_latency

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 iocp latency_mean_ns 7.60 µs 7.61 µs 🔴▼ -0.34% 0.48%
concurrent/16 iocp latency_mean_ns 128.85 µs 131.52 µs 🔴▼ -1.58% 2.42%
concurrent/4 iocp latency_mean_ns 30.54 µs 30.43 µs 🟢▲ +0.16% 0.63%
concurrent_lockless/1 iocp latency_mean_ns 7.58 µs 7.61 µs 🔴▼ -0.30% 0.37%
concurrent_lockless/16 iocp latency_mean_ns 121.66 µs 122.44 µs 🔴▼ -0.21% 1.07%
concurrent_lockless/4 iocp latency_mean_ns 30.50 µs 30.49 µs 🟢▲ +0.08% 0.30%
pingpong/1 iocp latency_mean_ns 7.57 µs 7.60 µs 🔴▼ -0.03% 0.53%
pingpong/1024 iocp latency_mean_ns 7.69 µs 7.72 µs 🔴▼ -0.21% 0.62%
pingpong/64 iocp latency_mean_ns 7.59 µs 7.62 µs 🔴▼ -0.33% 0.57%
pingpong_lockless/1 iocp latency_mean_ns 7.55 µs 7.59 µs 🔴▼ -0.56% 0.24%
pingpong_lockless/1024 iocp latency_mean_ns 7.67 µs 7.73 µs 🔴▼ -0.80% 0.59%
pingpong_lockless/64 iocp latency_mean_ns 7.59 µs 7.62 µs 🔴▼ -0.34% 0.44%

socket_throughput

Benchmark Backend Metric Base Head Δ Noise
bidirectional/1024 iocp bytes_per_sec 281.6 MB/s 281.6 MB/s 🔴▼ -0.01% 0.35%
bidirectional/1048576 iocp bytes_per_sec 5.40 GB/s 5.31 GB/s 🟢▲ +2.28% 11.14%
bidirectional/16384 iocp bytes_per_sec 3.72 GB/s 3.76 GB/s 🔴▼ -0.77% 2.82%
bidirectional/262144 iocp bytes_per_sec 9.26 GB/s 9.63 GB/s 🔴▼ -0.51% 9.86%
bidirectional/4096 iocp bytes_per_sec 1.08 GB/s 1.08 GB/s 🔴▼ -0.44% 0.58%
bidirectional/65536 iocp bytes_per_sec 8.72 GB/s 9.12 GB/s 🟢▲ +0.22% 11.34%
bidirectional_lockless/1024 iocp bytes_per_sec 281.1 MB/s 281.4 MB/s 🔴▼ -0.16% 0.63%
bidirectional_lockless/1048576 iocp bytes_per_sec 5.74 GB/s 5.48 GB/s 🔴▼ -0.47% 10.07%
bidirectional_lockless/16384 iocp bytes_per_sec 3.73 GB/s 3.74 GB/s 🟢▲ +0.14% 1.02%
bidirectional_lockless/262144 iocp bytes_per_sec 9.79 GB/s 9.78 GB/s 🟢▲ +0.21% 1.27%
bidirectional_lockless/4096 iocp bytes_per_sec 1.08 GB/s 1.08 GB/s 🟢▲ +0.49% 0.59%
bidirectional_lockless/65536 iocp bytes_per_sec 8.98 GB/s 9.01 GB/s 🟢▲ +0.31% 1.32%
multithread/2 iocp bytes_per_sec 12.84 GB/s 12.92 GB/s 🟢▲ +0.51% 0.66%
multithread/4 iocp bytes_per_sec 17.10 GB/s 17.19 GB/s 🟢▲ +0.30% 0.99%
multithread/8 iocp bytes_per_sec 18.37 GB/s 18.37 GB/s 🔴▼ -0.25% 1.15%
unidirectional/1024 iocp bytes_per_sec 285.4 MB/s 285.2 MB/s 🔴▼ -0.01% 0.32%
unidirectional/1048576 iocp bytes_per_sec 4.51 GB/s 4.57 GB/s 🟢▲ +0.35% 4.48%
unidirectional/16384 iocp bytes_per_sec 3.80 GB/s 3.82 GB/s 🟢▲ +0.16% 0.66%
unidirectional/262144 iocp bytes_per_sec 9.13 GB/s 9.03 GB/s 🔴▼ -0.50% 5.47%
unidirectional/4096 iocp bytes_per_sec 1.10 GB/s 1.10 GB/s 🔴▼ -0.02% 0.51%
unidirectional/65536 iocp bytes_per_sec 9.28 GB/s 9.24 GB/s 🔴▼ -0.53% 2.02%
unidirectional_lockless/1024 iocp bytes_per_sec 286.4 MB/s 286.5 MB/s 🟢▲ +0.49% 0.74%
unidirectional_lockless/1048576 iocp bytes_per_sec 4.98 GB/s 5.08 GB/s 🟢▲ +0.64% 7.11%
unidirectional_lockless/16384 iocp bytes_per_sec 3.81 GB/s 3.77 GB/s 🔴▼ -1.72% 0.94%
unidirectional_lockless/262144 iocp bytes_per_sec 9.39 GB/s 9.83 GB/s 🟢▲ +0.38% 11.16%
unidirectional_lockless/4096 iocp bytes_per_sec 1.09 GB/s 1.10 GB/s 🟢▲ +0.39% 0.47%
unidirectional_lockless/65536 iocp bytes_per_sec 9.00 GB/s 9.30 GB/s 🔴▼ -0.51% 11.79%
macos — full results (113 benchmarks, 5 iterations, 1.5s each)

accept_churn

Benchmark Backend Metric Base Head Δ Noise
burst/10 kqueue ops_per_sec 4.36K ops/s 4.33K ops/s 🔴▼ -0.54% 0.77%
burst/100 kqueue ops_per_sec 445.5 ops/s 443.4 ops/s 🔴▼ -0.46% 0.99%
burst_lockless/10 kqueue ops_per_sec 4.36K ops/s 4.36K ops/s 🟢▲ +0.37% 0.70%
burst_lockless/100 kqueue ops_per_sec 445.1 ops/s 446.4 ops/s 🟢▲ +0.16% 0.86%
concurrent/1 kqueue ops_per_sec 20.05K ops/s 19.96K ops/s 🔴▼ -0.03% 0.95%
concurrent/16 kqueue ops_per_sec 36.37K ops/s 35.91K ops/s 🔴▼ -1.38% 0.86%
concurrent/4 kqueue ops_per_sec 29.30K ops/s 29.24K ops/s 🔴▼ -0.08% 0.39%
sequential kqueue ops_per_sec 20.40K ops/s 20.38K ops/s 🔴▼ -0.04% 0.64%
sequential_lockless kqueue ops_per_sec 20.12K ops/s 20.09K ops/s 🟢▲ +0.19% 0.85%

fan_out

Benchmark Backend Metric Base Head Δ Noise
concurrent_parents/1 kqueue ops_per_sec 8.04K ops/s 8.06K ops/s 🟢▲ +0.14% 1.19%
concurrent_parents/16 kqueue ops_per_sec 7.62K ops/s 8.10K ops/s 🟢▲ +0.82% 16.50%
concurrent_parents/4 kqueue ops_per_sec 8.19K ops/s 8.16K ops/s 🟢▲ +0.16% 1.75%
concurrent_parents_lockless/1 kqueue ops_per_sec 8.12K ops/s 8.12K ops/s 🔴▼ -0.13% 1.50%
concurrent_parents_lockless/16 kqueue ops_per_sec 7.99K ops/s 8.12K ops/s 🟢▲ +0.56% 15.35%
concurrent_parents_lockless/4 kqueue ops_per_sec 8.27K ops/s 8.24K ops/s 🟢▲ +0.19% 1.74%
fork_join/1 kqueue ops_per_sec 48.17K ops/s 48.41K ops/s 🟢▲ +0.38% 0.61%
fork_join/16 kqueue ops_per_sec 8.01K ops/s 8.04K ops/s 🟢▲ +0.20% 1.00%
fork_join/4 kqueue ops_per_sec 23.60K ops/s 23.72K ops/s 🟢▲ +0.38% 1.11%
fork_join/64 kqueue ops_per_sec 2.06K ops/s 2.03K ops/s 🔴▼ -0.17% 2.28%
fork_join_lockless/1 kqueue ops_per_sec 49.60K ops/s 49.73K ops/s 🟢▲ +0.36% 0.36%
fork_join_lockless/16 kqueue ops_per_sec 8.10K ops/s 8.12K ops/s 🟢▲ +0.36% 1.52%
fork_join_lockless/4 kqueue ops_per_sec 23.53K ops/s 23.73K ops/s 🟢▲ +0.90% 0.74%
fork_join_lockless/64 kqueue ops_per_sec 2.06K ops/s 2.05K ops/s 🟢▲ +0.23% 2.55%
nested/16 kqueue ops_per_sec 2.02K ops/s 2.02K ops/s 🟢▲ +0.28% 2.13%
nested/4 kqueue ops_per_sec 7.92K ops/s 7.98K ops/s 🟢▲ +0.58% 0.68%
nested_lockless/16 kqueue ops_per_sec 2.04K ops/s 2.03K ops/s 🟢▲ +0.17% 2.28%
nested_lockless/4 kqueue ops_per_sec 8.04K ops/s 8.04K ops/s 🔴▼ -0.02% 1.12%

http_server

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 kqueue ops_per_sec 49.17K ops/s 49.19K ops/s 🟢▲ +0.16% 0.14%
concurrent/16 kqueue ops_per_sec 129.7K ops/s 130.4K ops/s 🟢▲ +0.62% 0.32%
concurrent/32 kqueue ops_per_sec 128.9K ops/s 129.5K ops/s 🟢▲ +0.08% 1.23%
concurrent/4 kqueue ops_per_sec 89.47K ops/s 89.93K ops/s 🟢▲ +0.44% 1.28%
multithread/1 kqueue ops_per_sec 128.8K ops/s 129.5K ops/s 🟢▲ +0.64% 1.06%
multithread/16 kqueue ops_per_sec 132.6K ops/s 132.4K ops/s 🟢▲ +0.11% 0.54%
multithread/2 kqueue ops_per_sec 184.3K ops/s 184.3K ops/s 🔴▼ -0.03% 0.92%
multithread/4 kqueue ops_per_sec 162.0K ops/s 162.2K ops/s 🟢▲ +0.16% 0.54%
multithread/8 kqueue ops_per_sec 137.8K ops/s 137.8K ops/s 🔴▼ -0.08% 1.21%
single_conn kqueue ops_per_sec 49.19K ops/s 49.11K ops/s 🔴▼ -0.06% 0.29%
single_conn_lockless kqueue ops_per_sec 49.30K ops/s 49.35K ops/s 🟢▲ +0.18% 0.28%

local_socket_latency

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 kqueue latency_mean_ns 1.85 µs 1.86 µs 🔴▼ -0.21% 0.67%
concurrent/16 kqueue latency_mean_ns 27.36 µs 27.39 µs 🔴▼ -0.28% 0.37%
concurrent/4 kqueue latency_mean_ns 6.90 µs 6.89 µs 🔴▼ -0.06% 0.63%
concurrent_lockless/1 kqueue latency_mean_ns 1.84 µs 1.84 µs 🟢▲ +0.46% 0.62%
concurrent_lockless/16 kqueue latency_mean_ns 27.23 µs 27.18 µs 🟢▲ +0.06% 0.66%
concurrent_lockless/4 kqueue latency_mean_ns 6.83 µs 6.84 µs 🔴▼ -0.33% 0.57%
pingpong/1 kqueue latency_mean_ns 1.86 µs 1.85 µs ⚪ 0.00% 0.59%
pingpong/1024 kqueue latency_mean_ns 1.95 µs 1.95 µs 🟢▲ +0.36% 0.65%
pingpong/64 kqueue latency_mean_ns 1.86 µs 1.86 µs 🔴▼ -0.31% 0.48%
pingpong_lockless/1 kqueue latency_mean_ns 1.84 µs 1.83 µs 🟢▲ +0.09% 0.62%
pingpong_lockless/1024 kqueue latency_mean_ns 1.94 µs 1.93 µs 🟢▲ +0.11% 0.57%
pingpong_lockless/64 kqueue latency_mean_ns 1.84 µs 1.84 µs 🔴▼ -0.40% 0.58%

local_socket_throughput

Benchmark Backend Metric Base Head Δ Noise
bidirectional/1024 kqueue bytes_per_sec 1.29 GB/s 1.30 GB/s 🟢▲ +0.46% 0.67%
bidirectional/1048576 kqueue bytes_per_sec 3.80 GB/s 3.79 GB/s 🟢▲ +0.45% 1.06%
bidirectional/16384 kqueue bytes_per_sec 3.80 GB/s 3.81 GB/s 🟢▲ +0.77% 0.95%
bidirectional/262144 kqueue bytes_per_sec 3.81 GB/s 3.80 GB/s 🟢▲ +0.54% 1.01%
bidirectional/4096 kqueue bytes_per_sec 2.88 GB/s 2.88 GB/s 🟢▲ +0.02% 0.55%
bidirectional/65536 kqueue bytes_per_sec 3.80 GB/s 3.81 GB/s 🟢▲ +0.42% 0.87%
bidirectional_lockless/1024 kqueue bytes_per_sec 1.30 GB/s 1.31 GB/s 🟢▲ +0.73% 0.32%
bidirectional_lockless/1048576 kqueue bytes_per_sec 3.88 GB/s 3.87 GB/s 🟢▲ +0.17% 0.89%
bidirectional_lockless/16384 kqueue bytes_per_sec 3.87 GB/s 3.88 GB/s 🟢▲ +0.02% 1.36%
bidirectional_lockless/262144 kqueue bytes_per_sec 3.89 GB/s 3.86 GB/s 🔴▼ -1.22% 0.65%
bidirectional_lockless/4096 kqueue bytes_per_sec 2.91 GB/s 2.93 GB/s 🟢▲ +0.84% 0.77%
bidirectional_lockless/65536 kqueue bytes_per_sec 3.88 GB/s 3.88 GB/s 🟢▲ +0.38% 0.69%
unidirectional/1024 kqueue bytes_per_sec 1.27 GB/s 1.27 GB/s 🟢▲ +0.51% 0.40%
unidirectional/1048576 kqueue bytes_per_sec 3.44 GB/s 3.43 GB/s 🔴▼ -0.37% 0.61%
unidirectional/16384 kqueue bytes_per_sec 3.45 GB/s 3.44 GB/s 🔴▼ -0.34% 0.64%
unidirectional/262144 kqueue bytes_per_sec 3.44 GB/s 3.45 GB/s 🟢▲ +0.09% 0.50%
unidirectional/4096 kqueue bytes_per_sec 2.65 GB/s 2.66 GB/s 🟢▲ +0.21% 0.70%
unidirectional/65536 kqueue bytes_per_sec 3.46 GB/s 3.44 GB/s 🔴▼ -0.48% 0.63%
unidirectional_lockless/1024 kqueue bytes_per_sec 1.27 GB/s 1.28 GB/s 🟢▲ +0.48% 0.45%
unidirectional_lockless/1048576 kqueue bytes_per_sec 3.50 GB/s 3.50 GB/s 🔴▼ -0.08% 0.38%
unidirectional_lockless/16384 kqueue bytes_per_sec 3.50 GB/s 3.50 GB/s 🔴▼ -0.15% 0.65%
unidirectional_lockless/262144 kqueue bytes_per_sec 3.50 GB/s 3.49 GB/s 🔴▼ -0.09% 0.58%
unidirectional_lockless/4096 kqueue bytes_per_sec 2.70 GB/s 2.70 GB/s 🔴▼ -0.35% 0.69%
unidirectional_lockless/65536 kqueue bytes_per_sec 3.49 GB/s 3.50 GB/s 🟢▲ +0.11% 0.51%

socket_latency

Benchmark Backend Metric Base Head Δ Noise
concurrent/1 kqueue latency_mean_ns 18.88 µs 18.81 µs 🟢▲ +0.30% 0.33%
concurrent/16 kqueue latency_mean_ns 120.26 µs 120.47 µs 🔴▼ -0.07% 0.59%
concurrent/4 kqueue latency_mean_ns 43.30 µs 43.33 µs 🟢▲ +0.47% 0.97%
concurrent_lockless/1 kqueue latency_mean_ns 18.84 µs 18.77 µs 🟢▲ +0.42% 0.38%
concurrent_lockless/16 kqueue latency_mean_ns 120.05 µs 120.39 µs 🟢▲ +0.04% 0.98%
concurrent_lockless/4 kqueue latency_mean_ns 42.68 µs 42.72 µs 🟢▲ +0.16% 0.61%
pingpong/1 kqueue latency_mean_ns 15.54 µs 15.45 µs 🟢▲ +0.20% 1.18%
pingpong/1024 kqueue latency_mean_ns 19.12 µs 19.03 µs 🟢▲ +0.49% 0.14%
pingpong/64 kqueue latency_mean_ns 18.90 µs 18.79 µs 🟢▲ +0.63% 0.41%
pingpong_lockless/1 kqueue latency_mean_ns 15.43 µs 15.39 µs 🟢▲ +0.06% 0.39%
pingpong_lockless/1024 kqueue latency_mean_ns 19.07 µs 19.01 µs 🟢▲ +0.36% 0.26%
pingpong_lockless/64 kqueue latency_mean_ns 18.89 µs 18.72 µs 🟢▲ +1.02% 0.50%

socket_throughput

Benchmark Backend Metric Base Head Δ Noise
bidirectional/1024 kqueue bytes_per_sec 475.0 MB/s 472.8 MB/s 🔴▼ -0.12% 0.86%
bidirectional/1048576 kqueue bytes_per_sec 7.86 GB/s 7.67 GB/s 🔴▼ -0.70% 5.20%
bidirectional/16384 kqueue bytes_per_sec 4.56 GB/s 4.55 GB/s 🔴▼ -0.47% 0.82%
bidirectional/262144 kqueue bytes_per_sec 8.83 GB/s 8.75 GB/s 🔴▼ -0.47% 1.30%
bidirectional/4096 kqueue bytes_per_sec 1.82 GB/s 1.81 GB/s 🔴▼ -0.39% 0.64%
bidirectional/65536 kqueue bytes_per_sec 7.61 GB/s 7.52 GB/s 🔴▼ -0.89% 1.57%
bidirectional_lockless/1024 kqueue bytes_per_sec 475.2 MB/s 473.6 MB/s 🔴▼ -0.11% 0.95%
bidirectional_lockless/1048576 kqueue bytes_per_sec 7.80 GB/s 7.63 GB/s 🔴▼ -0.44% 3.80%
bidirectional_lockless/16384 kqueue bytes_per_sec 4.58 GB/s 4.55 GB/s 🟢▲ +0.06% 1.13%
bidirectional_lockless/262144 kqueue bytes_per_sec 8.79 GB/s 8.74 GB/s 🔴▼ -0.72% 1.29%
bidirectional_lockless/4096 kqueue bytes_per_sec 1.82 GB/s 1.82 GB/s 🟢▲ +0.03% 0.77%
bidirectional_lockless/65536 kqueue bytes_per_sec 7.54 GB/s 7.68 GB/s 🟢▲ +1.12% 2.25%
multithread/2 kqueue bytes_per_sec 7.56 GB/s 7.43 GB/s 🔴▼ -1.34% 3.53%
multithread/4 kqueue bytes_per_sec 3.78 GB/s 3.68 GB/s 🔴▼ -2.96% 3.95%
multithread/8 kqueue bytes_per_sec 3.34 GB/s 3.46 GB/s 🟢▲ +5.52% 8.69%
unidirectional/1024 kqueue bytes_per_sec 458.9 MB/s 455.8 MB/s 🟢▲ +0.19% 2.52%
unidirectional/1048576 kqueue bytes_per_sec 9.06 GB/s 8.84 GB/s 🟢▲ +1.04% 6.21%
unidirectional/16384 kqueue bytes_per_sec 4.47 GB/s 4.36 GB/s 🔴▼ -1.68% 2.89%
unidirectional/262144 kqueue bytes_per_sec 8.90 GB/s 8.71 GB/s 🔴▼ -0.51% 3.42%
unidirectional/4096 kqueue bytes_per_sec 1.80 GB/s 1.78 GB/s 🔴▼ -0.85% 1.68%
unidirectional/65536 kqueue bytes_per_sec 7.36 GB/s 7.35 GB/s 🔴▼ -1.28% 2.75%
unidirectional_lockless/1024 kqueue bytes_per_sec 477.1 MB/s 473.1 MB/s 🔴▼ -0.02% 2.86%
unidirectional_lockless/1048576 kqueue bytes_per_sec 9.05 GB/s 8.86 GB/s 🟢▲ +0.21% 5.70%
unidirectional_lockless/16384 kqueue bytes_per_sec 4.49 GB/s 4.44 GB/s 🔴▼ -1.35% 1.55%
unidirectional_lockless/262144 kqueue bytes_per_sec 9.05 GB/s 8.82 GB/s 🔴▼ -2.83% 2.55%
unidirectional_lockless/4096 kqueue bytes_per_sec 1.82 GB/s 1.81 GB/s 🔴▼ -0.34% 2.15%
unidirectional_lockless/65536 kqueue bytes_per_sec 7.48 GB/s 7.32 GB/s 🔴▼ -1.24% 3.32%

Run & raw JSON artifacts · flag rule: |median Δ| > max(2%, 3×CV of the noisier side) · advisory only

@sgerbino sgerbino left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add // NOLINT(performance-no-int-to-ptr) where necessary so clang-tidy passes.

Also, there some places where we compare the old uintptr_t to 0 which should change to a nullptr check.

BOOST_TEST(q.pop() == 0u);

BOOST_TEST(q1.pop() == 0u);

Thank you for the contribution!

@sgerbino

sgerbino commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

The clang-tidy silence didn't work correctly, maybe because it's multi-line.

@gene-hightower

Copy link
Copy Markdown
Contributor Author

The clang-tidy silence didn't work correctly, maybe because it's multi-line.

I'll take another shot at this.

@sgerbino sgerbino changed the title Fil-c requires pointers stored in memory to be identifiable as pointe… Store ready-queue links as pointers for Fil-C Oct 23, 2026
@sgerbino
sgerbino merged commit 1f6e774 into cppalliance:develop Oct 23, 2026
46 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Beast2 Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants