You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
⚠️11 regressions detected out of 103 benchmarks (threshold: 25%)
Benchmark
Median
Baseline
Delta
InputStream.fromString — 100 records
369.3µs
207.8µs
+77.7% 🔴
KeySpec — deep nested (address/coords/lat)
1.14ms
562.4µs
+101.9% 🔴
Direct property access baseline (rec['name'])
81.1µs
42.0µs
+92.9% 🔴
collate — 100 records (count by city)
456.3µs
356.1µs
+28.2% 🔴
chain — 5 ops (grep
eval
grep
eval
implicit — 2 ops (grep
eval), 1K records
191.3µs
113.8µs
chain — 2 ops (grep
eval), 10K records
629.1µs
469.1µs
implicit — 3 ops (grep
eval
grep), 100 records
144.9µs
implicit — 3 ops (grep
eval
grep), 1K records
212.2µs
implicit — 5 ops (grep
eval
grep
eval
TextDecoderStream — 10K lines
6.06ms
3.84ms
+57.7% 🔴
103 benchmarks: 16 faster, 19 slower, 68 within noise (10%)
ℹ️ Note: Benchmarks are advisory-only. GitHub Actions shared runners have variable performance, so results may fluctuate ±25% between runs. For reliable benchmarking, run locally with bun run bench.
Full benchmark results
JSON Parsing
Benchmark
Median
Baseline
Delta
Throughput
Record.fromJSON — 100 lines
151.1µs
151.4µs
-0.3%
661.96K rec/s
Record.fromJSON — 10K lines
13.69ms
12.78ms
+7.1%
730.25K rec/s, 216.3 MB/s
InputStream.fromString — 100 records
369.3µs
207.8µs
+77.7% 🔴
270.78K rec/s
InputStream.fromString — 10K records
18.99ms
17.98ms
+5.6%
526.58K rec/s, 155.9 MB/s
JSON.parse baseline — 10K lines (no Record)
12.86ms
12.57ms
+2.3%
777.60K rec/s, 230.3 MB/s
JSON.parse single array — 10K records
13.45ms
12.77ms
+5.4%
743.38K rec/s, 220.2 MB/s
JSON Serialization
Benchmark
Median
Baseline
Delta
Throughput
Record.toString — 100 records
82.3µs
84.6µs
-2.7%
1.22M rec/s
Record.toString — 10K records
8.59ms
6.92ms
+24.1% 🔴
1.16M rec/s, 344.8 MB/s
Record.toJSON — 10K records
288.4µs
308.0µs
-6.4%
34.68M rec/s
JSON.stringify baseline — 10K objects (no Record)
6.75ms
7.86ms
-14.1% 🟢
1.48M rec/s, 438.5 MB/s
Batch join — 10K records (map+join)
8.61ms
8.49ms
+1.4%
1.16M rec/s, 344.0 MB/s
KeySpec Access
Benchmark
Median
Baseline
Delta
Throughput
KeySpec — simple key (name)
407.3µs
402.2µs
+1.3%
24.55M rec/s
KeySpec — nested key (address/zip)
612.5µs
542.7µs
+12.9% 🔴
16.33M rec/s
KeySpec — deep nested (address/coords/lat)
1.14ms
562.4µs
+101.9% 🔴
8.81M rec/s
KeySpec — array index (tags/#0)
563.1µs
528.1µs
+6.6%
17.76M rec/s
Direct property access baseline (rec['name'])
81.1µs
42.0µs
+92.9% 🔴
123.33M rec/s
Direct nested access baseline (rec.address.coords.lat)
82.8µs
77.1µs
+7.4%
120.76M rec/s
KeySpec construction — cached (same spec 10K times)
278.5µs
285.8µs
-2.5%
35.90M rec/s
KeySpec construction — unique specs (10K different)
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
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.
Summary
tests/fixtures/*.xlsxfrom git tracking (regenerated by fromxls tests in beforeAll)🤖 Generated with Claude Code