Skip to content

docs: add standardized benchmark matrix for cross-language comparison#67

Merged
aepfli merged 2 commits into
mainfrom
docs/benchmark-standard
Feb 10, 2026
Merged

docs: add standardized benchmark matrix for cross-language comparison#67
aepfli merged 2 commits into
mainfrom
docs/benchmark-standard

Conversation

@aepfli
Copy link
Copy Markdown
Contributor

@aepfli aepfli commented Feb 10, 2026

Summary

  • Adds BENCHMARKS.md defining a consistent benchmark specification across Rust, Java, and Python
  • Covers evaluation scenarios (E1-E11), custom operators (O1-O6), state management (S1-S5), concurrency (C1-C6), and old-vs-new comparison (X1-X3)
  • Standardizes context shapes and flag definitions for direct cross-language comparison

Context

The benchmark PRs (#64, #65, #66) implement subsets of this matrix. This document serves as the reference spec so all three languages converge on the same scenarios and can be compared meaningfully.

Test plan

  • Review benchmark IDs and scenarios for completeness
  • Verify context/flag definitions match what implementations use

🤖 Generated with Claude Code

aepfli and others added 2 commits February 10, 2026 11:57
Defines a consistent benchmark specification (BENCHMARKS.md) covering:
- Core evaluation scenarios (E1-E11): varying targeting complexity and context size
- Custom operator benchmarks (O1-O6): fractional, semver, string ops
- State management benchmarks (S1-S5): config parsing at various scales
- Concurrency benchmarks (C1-C6): thread scaling and read/write contention
- Comparison benchmarks (X1-X3): old/native vs new WASM approach

Includes standardized context shapes (empty/small/large) and flag
definitions to ensure benchmarks are directly comparable across
Rust, Java, and Python implementations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Java library test was failing because Cargo.lock was gitignored,
causing CI to resolve fresh dependency versions. The wasm-bindgen
import function names include hashes that change across versions,
breaking the hardcoded Java host function stubs in WasmRuntime.java.

Tracking Cargo.lock ensures all builds produce identical WASM binaries
with matching import names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@aepfli aepfli merged commit aa3308c into main Feb 10, 2026
13 checks passed
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