Skip to content

Conversation

@dduan
Copy link
Owner

@dduan dduan commented Dec 29, 2025

Skip the unrolled space/tab scan unless the next byte is whitespace, cache value/bare-key tables during tokenization, and advance array string elements without redundant kind checks.

Skip the unrolled space/tab scan unless the next byte is whitespace, cache value/bare-key tables during tokenization, and advance array string elements without redundant kind checks.
@dduan dduan enabled auto-merge (squash) December 29, 2025 08:41
@github-actions
Copy link

Comparing results between 'main' and 'pull_request'

Host 'runnervmh13bl' with 4 'x86_64' processors with 15 GB memory, running:
#18~24.04.1-Ubuntu SMP Sat Jun 28 04:46:03 UTC 2025

TOMLDecoderBenchmarks

Decode toml.io example metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (μs) * p0 p25 p50 p75 p90 p99 p100 Samples
main 69 70 70 71 80 96 144 7125
pull_request 69 70 71 72 77 97 143 6993
Δ 0 0 1 1 -3 1 -1 -132
Improvement % 0 0 -1 -1 4 -1 1 -132

Retains: results within specified thresholds, fold down for details.

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 625 625 625 626 626 626 626 7125
pull_request 624 624 624 624 624 624 624 6993
Δ -1 -1 -1 -2 -2 -2 -2 -132
Improvement % 0 0 0 0 0 0 0 -132

Parse toml.io example metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 6772 6955 7023 7107 7227 12415 30186 10000
pull_request 6391 6523 6563 6615 6695 9631 30397 10000
Δ -381 -432 -460 -492 -532 -2784 211 0
Improvement % 6 6 7 7 7 22 -1 0

Retains: results within specified thresholds, fold down for details.

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 8 9 9 9 9 9 9 10000
pull_request 8 9 9 9 9 9 9 10000
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

decode canada.toml metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ms) * p0 p25 p50 p75 p90 p99 p100 Samples
main 271 271 273 273 275 275 275 4
pull_request 268 268 269 269 271 271 271 4
Δ -3 -3 -4 -4 -4 -4 -4 0
Improvement % 1 1 1 1 1 1 1 0

Retains: results within specified thresholds, fold down for details.

Retains (K) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1674 1674 1674 1674 1674 1674 1674 4
pull_request 1674 1674 1674 1674 1674 1674 1674 4
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

decode twitter.toml metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (μs) * p0 p25 p50 p75 p90 p99 p100 Samples
main 9652 9691 9716 9740 9789 10215 10268 102
pull_request 9334 9388 9404 9437 9478 9675 9955 106
Δ -318 -303 -312 -303 -311 -540 -313 4
Improvement % 3 3 3 3 3 5 3 4

Retains: results within specified thresholds, fold down for details.

Retains (K) * p0 p25 p50 p75 p90 p99 p100 Samples
main 66 66 66 66 66 66 66 102
pull_request 66 66 66 66 66 66 66 106
Δ 0 0 0 0 0 0 0 4
Improvement % 0 0 0 0 0 0 0 4

parse canada.toml metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ms) * p0 p25 p50 p75 p90 p99 p100 Samples
main 22 23 23 24 24 25 25 43
pull_request 17 18 18 19 19 21 21 55
Δ -5 -5 -5 -5 -5 -4 -4 12
Improvement % 23 22 22 21 21 16 16 12

Retains: results within specified thresholds, fold down for details.

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 132 133 133 133 133 133 133 43
pull_request 132 133 133 133 133 133 133 55
Δ 0 0 0 0 0 0 0 12
Improvement % 0 0 0 0 0 0 0 12

parse twitter.toml metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (μs) * p0 p25 p50 p75 p90 p99 p100 Samples
main 3416 3437 3443 3455 3469 3881 4038 286
pull_request 3070 3099 3111 3123 3146 3414 3573 315
Δ -346 -338 -332 -332 -323 -467 -465 29
Improvement % 10 10 10 10 9 12 12 29

Retains: results within specified thresholds, fold down for details.

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 1292 1293 1293 1293 1293 1293 1293 286
pull_request 1292 1293 1293 1293 1293 1293 1293 315
Δ 0 0 0 0 0 0 0 29
Improvement % 0 0 0 0 0 0 0 29

@dduan dduan merged commit d7be8da into main Dec 29, 2025
16 checks passed
@dduan dduan deleted the dd/speed-up-parser-token-scanning branch December 29, 2025 08:46
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.

2 participants