Skip to content

Conversation

@dduan
Copy link
Owner

@dduan dduan commented Dec 30, 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 30, 2025 05:35
@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 73 80 94 155 6942
pull_request 70 71 71 73 79 96 143 6975
Δ 0 0 0 0 -1 2 -12 33
Improvement % 0 0 0 0 1 -2 8 33

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

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 624 624 624 625 625 625 625 6942
pull_request 624 624 624 624 624 624 624 6975
Δ 0 0 0 -1 -1 -1 -1 33
Improvement % 0 0 0 0 0 0 0 33

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 6642 6835 6883 6943 7103 11335 48400 10000
pull_request 6462 6595 6643 6703 6835 9431 66343 10000
Δ -180 -240 -240 -240 -268 -1904 17943 0
Improvement % 3 4 3 3 4 17 -37 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 269 269 272 273 273 273 273 4
pull_request 267 267 268 268 268 268 268 4
Δ -2 -2 -4 -5 -5 -5 -5 0
Improvement % 1 1 1 2 2 2 2 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 9345 9404 9445 9478 9527 9708 9972 105
pull_request 9293 9355 9396 9445 9519 10117 10241 106
Δ -52 -49 -49 -33 -8 409 269 1
Improvement % 1 1 1 0 0 -4 -3 1

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 105
pull_request 66 66 66 66 66 66 66 106
Δ 0 0 0 0 0 0 0 1
Improvement % 0 0 0 0 0 0 0 1

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 20 20 55
pull_request 17 18 18 19 19 20 20 55
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

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

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 3036 3074 3084 3099 3129 3404 5039 318
pull_request 3064 3101 3115 3129 3154 3242 3607 315
Δ 28 27 31 30 25 -162 -1432 -3
Improvement % -1 -1 -1 -1 -1 5 28 -3

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 318
pull_request 1292 1293 1293 1293 1293 1293 1293 315
Δ 0 0 0 0 0 0 0 -3
Improvement % 0 0 0 0 0 0 0 -3

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