Skip to content

bench: replace dense-100k with github-100k scenario#36

Merged
membphis merged 3 commits into
mainfrom
worktree-github-bench
May 17, 2026
Merged

bench: replace dense-100k with github-100k scenario#36
membphis merged 3 commits into
mainfrom
worktree-github-bench

Conversation

@membphis
Copy link
Copy Markdown
Collaborator

Summary

  • Replace synthetic dense payload (many tiny k/v pairs) with GitHub Issues API simulation
  • New payload structure: nested user objects, labels arrays, realistic URLs and timestamps
  • Structural density ~3-5%, matching real-world REST API responses

Benchmark Results

Fixture cjson (ops/s) quickdecode (ops/s) Speedup Memory Savings
github-100k 5,373 27,020 5.0× 677× (12.8 MB → 19 KB)

The previous dense-100k scenario had artificially high structural density (~10-12%) that doesn't reflect typical API usage patterns.

membphis added 3 commits May 17, 2026 22:38
Replace the synthetic dense payload (many tiny k/v pairs) with a
GitHub Issues API simulation that better reflects real-world API
responses: nested user objects, labels arrays, realistic URL and
timestamp strings, ~3-5% structural density.

The new scenario provides a more meaningful benchmark for typical
REST API parsing workloads.
Document the new GitHub Issues API simulation scenario that provides
a realistic REST API benchmark with ~3-5% structural density.
Replace string.rep("A", size) with a pre-generated 64 KB block of
pseudo-random base64 characters (deterministic LCG, seed=12345).
Larger payloads repeat the block to reach target size.

This provides more realistic character distribution for CPU branch
prediction and cache behavior, while keeping O(1) payload generation.
@membphis membphis merged commit 9de1556 into main May 17, 2026
2 checks passed
@membphis membphis deleted the worktree-github-bench branch May 17, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant