Skip to content

Conversation

@dduan
Copy link
Owner

@dduan dduan commented Dec 31, 2025

Switch key hashing to a lightweight FNV-1a hash and reuse normalized keys for dotted table/array creation to avoid repeated String hashing.

Switch key hashing to a lightweight FNV-1a hash and reuse normalized keys for dotted table/array creation to avoid repeated String hashing.
@dduan dduan enabled auto-merge (squash) December 31, 2025 07:11
@dduan dduan closed this Dec 31, 2025
auto-merge was automatically disabled December 31, 2025 07:11

Pull request was closed

@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 89 133 7033
pull_request 66 67 67 68 74 93 207 7214
Δ -4 -4 -4 -4 -3 4 74 181
Improvement % 6 6 6 6 4 -4 -56 181

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

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 624 624 625 625 625 625 625 7033
pull_request 599 599 599 600 600 600 600 7214
Δ -25 -25 -26 -25 -25 -25 -25 181
Improvement % 4 4 4 4 4 4 4 181

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 6532 6643 6695 6755 6863 10687 27161 10000
pull_request 5841 5983 6031 6095 6655 16367 117100 10000
Δ -691 -660 -664 -660 -208 5680 89939 0
Improvement % 11 10 10 10 3 -53 -331 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 272 272 273 273 273 4
pull_request 270 270 271 271 272 272 272 4
Δ -1 -1 -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 9366 9421 9445 9470 9511 9724 9941 105
pull_request 8951 8995 9011 9028 9060 10232 10235 110
Δ -415 -426 -434 -442 -451 508 294 5
Improvement % 4 5 5 5 5 -5 -3 5

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

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 182 184 184 186 190 190 190 6
pull_request 164 167 169 173 174 174 174 6
Δ -18 -17 -15 -13 -16 -16 -16 0
Improvement % 10 9 8 7 8 8 8 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 17 17 17 18 19 20 20 57
pull_request 16 17 17 18 18 19 19 58
Δ -1 0 0 0 -1 -1 -1 1
Improvement % 6 0 0 0 5 5 5 1

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 57
pull_request 132 133 133 133 133 133 133 58
Δ 0 0 0 0 0 0 0 1
Improvement % 0 0 0 0 0 0 0 1

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 2908 2959 2974 2988 3004 3045 3522 331
pull_request 2649 2687 2695 2703 2718 2834 3212 364
Δ -259 -272 -279 -285 -286 -211 -310 33
Improvement % 9 9 9 10 10 7 9 33

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 331
pull_request 1292 1293 1293 1293 1293 1293 1293 364
Δ 0 0 0 0 0 0 0 33
Improvement % 0 0 0 0 0 0 0 33

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