Skip to content

Conversation

@dduan
Copy link
Owner

@dduan dduan commented Dec 31, 2025

Stop validating escape sequences while scanning double-quoted strings.
Validation remains in unpacking, reducing work during parsing of large inputs.

Stop validating escape sequences while scanning double-quoted strings.
Validation remains in unpacking, reducing work during parsing of large inputs.
@dduan dduan enabled auto-merge (squash) December 31, 2025 07:29
@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 84 124 280 6902
pull_request 70 71 71 72 76 91 172 7011
Δ 0 0 0 0 -8 -33 -108 109
Improvement % 0 0 0 0 10 27 39 109

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 6902
pull_request 625 625 625 625 625 625 625 7011
Δ 1 1 1 1 1 1 1 109
Improvement % 0 0 0 0 0 0 0 109

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 6432 6583 6623 6663 6735 11823 62606 10000
pull_request 6423 6563 6603 6655 6763 10575 120824 10000
Δ -9 -20 -20 -8 28 -1248 58218 0
Improvement % 0 0 0 0 0 11 -93 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 270 270 271 271 272 272 272 4
pull_request 268 268 269 270 270 270 270 4
Δ -2 -2 -2 -1 -2 -2 -2 0
Improvement % 1 1 1 0 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 9199 9306 9331 9380 9437 9716 9916 106
pull_request 9269 9331 9372 9429 9503 12804 14765 105
Δ 70 25 41 49 66 3088 4849 -1
Improvement % -1 0 0 -1 -1 -32 -49 -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 106
pull_request 66 66 66 66 66 66 66 105
Δ 0 0 0 0 0 0 0 -1
Improvement % 0 0 0 0 0 0 0 -1

parse GitHub events archive 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 180 180 181 182 182 182 182 6
pull_request 179 181 181 182 182 182 182 6
Δ -1 1 0 0 0 0 0 0
Improvement % 1 -1 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 77 77 77 77 77 77 77 6
pull_request 77 77 77 77 77 77 77 6
Δ 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 18 18 19 19 19 20 20 53
pull_request 16 17 17 18 18 19 19 58
Δ -2 -1 -2 -1 -1 -1 -1 5
Improvement % 11 6 11 5 5 5 5 5

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 58
Δ 0 0 0 0 0 0 0 5
Improvement % 0 0 0 0 0 0 0 5

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 2930 2968 2980 2996 3023 3293 3993 329
pull_request 2944 2990 3002 3015 3031 3154 3511 327
Δ 14 22 22 19 8 -139 -482 -2
Improvement % 0 -1 -1 -1 0 4 12 -2

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 329
pull_request 1292 1293 1293 1293 1293 1293 1293 327
Δ 0 0 0 0 0 0 0 -2
Improvement % 0 0 0 0 0 0 0 -2

@dduan dduan merged commit 055a5e2 into main Dec 31, 2025
16 checks passed
@dduan dduan deleted the dd/defer-basic-string-escape-validation-in-tokenizer branch December 31, 2025 07:34
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