Skip to content

Conversation

@dduan
Copy link
Owner

@dduan dduan commented Dec 29, 2025

Use local cursor/line counters in skipNewlines to reduce property writes, and tighten scanString loops by dropping redundant newline/dot checks during value and dotted-key scanning.

Use local cursor/line counters in skipNewlines to reduce property writes, and tighten scanString loops by dropping redundant newline/dot checks during value and dotted-key scanning.
@dduan dduan enabled auto-merge (squash) December 29, 2025 08:59
@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 70 71 71 72 77 91 150 6996
pull_request 70 71 71 73 81 99 141 6976
Δ 0 0 0 1 4 8 -9 -20
Improvement % 0 0 0 -1 -5 -9 6 -20

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

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 624 624 624 624 624 624 624 6996
pull_request 624 624 624 624 624 624 624 6976
Δ 0 0 0 0 0 0 0 -20
Improvement % 0 0 0 0 0 0 0 -20

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 6562 6675 6715 6763 6855 10239 29244 10000
pull_request 6331 6495 6543 6615 6755 9735 34384 10000
Δ -231 -180 -172 -148 -100 -504 5140 0
Improvement % 4 3 3 2 1 5 -18 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 267 267 268 268 269 269 269 4
pull_request 267 267 267 267 268 268 268 4
Δ 0 0 -1 -1 -1 -1 -1 0
Improvement % 0 0 0 0 0 0 0 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 9396 9470 9544 9626 9683 9986 10198 104
pull_request 9352 9413 9454 9527 9765 10527 10848 104
Δ -44 -57 -90 -99 82 541 650 0
Improvement % 0 1 1 1 -1 -5 -6 0

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 104
pull_request 66 66 66 66 66 66 66 104
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

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 17 18 18 19 19 37 37 53
pull_request 17 18 18 18 19 20 20 55
Δ 0 0 0 -1 0 -17 -17 2
Improvement % 0 0 0 5 0 46 46 2

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 53
pull_request 132 133 133 133 133 133 133 55
Δ 0 0 0 0 0 0 0 2
Improvement % 0 0 0 0 0 0 0 2

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 3035 3092 3111 3148 3215 3572 4029 313
pull_request 3093 3129 3144 3162 3181 3394 3643 312
Δ 58 37 33 14 -34 -178 -386 -1
Improvement % -2 -1 -1 0 1 5 10 -1

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 313
pull_request 1292 1293 1293 1293 1293 1293 1293 312
Δ 0 0 0 0 0 0 0 -1
Improvement % 0 0 0 0 0 0 0 -1

@dduan dduan merged commit c1ac235 into main Dec 29, 2025
16 checks passed
@dduan dduan deleted the dd/optimize-skipnewlines-scanning branch December 29, 2025 09:05
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