Repository navigation
Conversation
async-db and fortunes move out of HTTP/1.1 into a Database family at the same level as H/2 and H/3, with their own composite, scored there and nowhere else. The driver dominating these numbers rules them out of a ranking of HTTP paths, and is what this board ranks. They still run over HTTP/1.1 with gcannon, but split the box three ways because Postgres does real work on them: 32 logical CPUs for the server (0-15,64-79), 32 for the generator with 32 threads (16-31,80-95) and the rest for Postgres (32-63,96-127), each as cores plus their SMT siblings. Postgres used to float over the server's and the generator's CPUs. The gateway profiles release it again, so they run as before. The docs move to test-profiles/database/.
Fortunes goes back to reference-only, shown as a faded column. 63 of the 101 entries running async-db have no Fortunes, so scoring it would cap all of them at half the board.
4 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follows the discussion in #1482.
What changes
Own category.
async-dbandfortunesmove out of HTTP/1.1 into a new Database family (db), at the same level as H/2 and H/3. It gets its own composite, nav entry, detailed views, badges, pre-rendered pages and row in the PR composite table.Only
async-dbis scored for now, on this board and nowhere else. The driver dominating its number rules it out of a ranking of HTTP paths, and is what this board ranks.fortunesstays reference-only, as a faded column, because 63 of the 101 entries runningasync-dbhave no Fortunes and scoring it would cap all of them at half the board.Its own CPU split. They still run over HTTP/1.1 with gcannon, but the box is split three ways, with every core paired with its SMT sibling (N and N+64):
0-15,64-790-31,64-9516-31,80-9532-63,96-127, 64 threads32-63,96-127Postgres only stays pinned for these tests. It's moved with
docker update, and the gateway profiles release it, so they run as before.Docs move to
test-profiles/database/. The old URLs aren't redirected, the same as earlier docs moves.The cpusets are overridable (
DB_SERVER_CPUS,DB_LOADGEN_CPUS,DB_POSTGRES_CPUS,DB_THREADS). On a box too small for them, the generator and Postgres stay where they are.How I read the request
"32 CPU" means 32 logical CPUs, so 16 cores plus siblings. 32 cores each would take the whole box and leave nothing for Postgres.
Impact
dusty-tuned(1000),cpeak(980) andgenhttp-ioxide(910).async-dbwas reference-only for frameworks, so it awarded them none. It does now, so medal counts near the top go up.Before merging
/benchmarkcomment runs this PR's scripts, and results compare against the published numbers, so expect them to move: the server has half the CPUs, and Postgres has its own./benchmark-test -t async-dband/benchmark-test -t fortunes.scripts/lib/profiles.shandtest-profiles/_index.md.Verified
On the dev box, which has 32 logical CPUs, so the split was overridden to server
0-7, Postgres8-15and generator16-31with 16 threads:aspnet-minimalasync-db,fortunesthroughbenchmark.sh --save0-7and Postgres8-15fromdocker inspect, 16 threads in the result rowsasync-db16-31,-t 16postgres_pinpin and releaseCpus_allowed_listgoes8-15, then0-31profiles.shsourced alone underset -u, the wayvalidate.shdoesgen_leaderboard_data.pyandcheck_badge_parity.jsNot run: the real split on a 128-CPU box, and a gateway profile straight after a database one. Only
postgres_pin's release was tested on its own.🤖 Generated with Claude Code