bench: add CPU pool concurrency benchmark (thumbnail decode under a quota)
bench_pool_concurrency drives the real service path (Semaphore(K) gating spawn_blocking(bench_render_all)) with a gallery of concurrent callers and sweeps the decode-permit count K, reporting throughput + p50/p99. Run under taskset to model a CPU quota: it shows the effect of sizing the image pools to effective_parallelism (K=cores) vs the host count (over-subscribed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JG5yYZ9s868mJwqT2Qz7ez
This commit is contained in:
@@ -190,6 +190,15 @@ name = "bench_tokio_runtime"
|
||||
path = "examples/bench_tokio_runtime.rs"
|
||||
required-features = ["bench"]
|
||||
|
||||
# CPU pool concurrency benchmark — thumbnail decode throughput + p99 as the
|
||||
# decode-permit count is swept, showing the effect of sizing the image pools to
|
||||
# the CFS quota (effective_parallelism) vs the host core count. No Postgres;
|
||||
# run under `taskset -c 0,1` to model a 2-core quota.
|
||||
[[example]]
|
||||
name = "bench_pool_concurrency"
|
||||
path = "examples/bench_pool_concurrency.rs"
|
||||
required-features = ["bench"]
|
||||
|
||||
# ACL owner-cache benchmark — owner query vs moka hit (needs the dev Postgres up).
|
||||
[[example]]
|
||||
name = "bench_owner_cache"
|
||||
|
||||
Reference in New Issue
Block a user