3proxy/bench/data
Vladimir Dubrovin 5a7399450b bench: grace delay and splice() over emulated client links
Results on both machines over per-connection emulated links: seven
grace delay settings with a fifth client CPU; the promising ones over
three link qualities (100 Mbit/s 2 ms 0.1%, 20 Mbit/s 5 ms 0.5%,
5 Mbit/s 25 ms 1%); copying against splice() with and without grace
delay, the CONNECT mix included; and the slow link with waits matched
to its rate (10 and 20 ms).

Grace delay saves 35-46% of 3proxy's CPU per gigabyte on streams at
20 Mbit/s and 21-29% at 5 Mbit/s with a 10 ms wait, does nothing on
fast links, and costs CPU with waits too short for the rate or once
the CPU is exhausted. Over these links splice() and copying cost about
the same in the mix scenarios. A caveat says that every scenario but
the mix ones is synthetic.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 17:06:47 +03:00
..
m4-16k-base.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-16k-connect.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-16k-relay.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-16k-socks.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-auto-http.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00
m4-connect-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-connect-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-env.txt Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
m4-full-base.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-connect.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-mix.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-relay.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-socks.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-grace3-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace3-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace3-worse.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace-link2.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace-link.csv bench: grace delay on an emulated slow link 2026-10-14 11:39:20 +03:00
m4-grace.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
m4-halfclose.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-haproxy-splice.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
m4-main.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
m4-mix.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-slow-g.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-splice-direction.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
m4-splice-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-splice-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-tls.csv bench: RESULTS with a table for each machine, HTTPS with streams and envoy 2026-10-13 13:00:21 +03:00
m4-tunnels.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00
skylake-16k-base.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-16k-connect.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-16k-relay.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-16k-socks.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-auto-http.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00
skylake-connect-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-connect-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-env.txt Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-full-base.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-connect.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-mix.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-relay.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-socks.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-grace3-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace3-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace3-worse.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace-link2.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace-link.csv bench: grace delay on an emulated slow link 2026-10-14 11:39:20 +03:00
skylake-grace.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
skylake-halfclose.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-haproxy-splice.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-main.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-mix.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-slow-g.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-splice-direction.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
skylake-splice-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-splice-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-tls.csv bench: RESULTS with a table for each machine, HTTPS with streams and envoy 2026-10-13 13:00:21 +03:00
skylake-tunnels.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00