Skip to content

Conversation

@dduan
Copy link
Owner

@dduan dduan commented Jan 2, 2026

Use a packed 64-bit hash for keys up to 8 bytes, falling back to FNV for longer keys to reduce hashing work in hot paths.

Use a packed 64-bit hash for keys up to 8 bytes, falling back to FNV for longer keys to reduce hashing work in hot paths.
@dduan dduan enabled auto-merge (squash) January 2, 2026 08:42
@github-actions
Copy link

github-actions bot commented Jan 2, 2026

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 67 68 68 68 72 89 222 7229
pull_request 67 68 68 69 72 85 146 7180
Δ 0 0 0 1 0 -4 -76 -49
Improvement % 0 0 0 -1 0 4 34 -49

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

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 626 626 626 627 627 627 627 7229
pull_request 625 625 625 625 625 625 625 7180
Δ -1 -1 -1 -2 -2 -2 -2 -49
Improvement % 0 0 0 0 0 0 0 -49

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 6151 6283 6331 6383 6455 10135 29195 10000
pull_request 6091 6223 6255 6295 6355 8679 123230 10000
Δ -60 -60 -76 -88 -100 -1456 94035 0
Improvement % 1 1 1 1 2 14 -322 0

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

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 9 10 10 10 10 10 10 10000
pull_request 9 10 10 10 10 10 10 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 268 269 269 269 270 270 270 4
pull_request 266 266 268 268 268 268 268 4
Δ -2 -3 -1 -1 -2 -2 -2 0
Improvement % 1 1 0 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 8887 8937 8946 8970 9003 9232 9446 111
pull_request 8921 8962 8978 8995 9028 9290 9487 111
Δ 34 25 32 25 25 58 41 0
Improvement % 0 0 0 0 0 -1 0 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 111
pull_request 66 66 66 66 66 66 66 111
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

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 162 163 164 168 168 168 168 7
pull_request 164 165 166 170 176 176 176 6
Δ 2 2 2 2 8 8 8 -1
Improvement % -1 -1 -1 -1 -5 -5 -5 -1

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 7
pull_request 77 77 77 77 77 77 77 6
Δ 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 16 17 17 17 18 19 19 59
pull_request 16 16 17 17 18 19 19 60
Δ 0 -1 0 0 0 0 0 1
Improvement % 0 6 0 0 0 0 0 1

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

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 133 134 134 134 134 134 134 59
pull_request 133 134 134 134 134 134 134 60
Δ 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 2697 2724 2730 2740 2757 3076 3854 358
pull_request 2718 2738 2753 2765 2777 2980 3347 356
Δ 21 14 23 25 20 -96 -507 -2
Improvement % -1 -1 -1 -1 -1 3 13 -2

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

Retains * p0 p25 p50 p75 p90 p99 p100 Samples
main 1293 1294 1294 1294 1294 1294 1294 358
pull_request 1293 1294 1294 1294 1294 1294 1294 356
Δ 0 0 0 0 0 0 0 -2
Improvement % 0 0 0 0 0 0 0 -2

@dduan dduan merged commit 1dbaad6 into main Jan 2, 2026
16 checks passed
@dduan dduan deleted the dd/speed-up-short-key-hashing branch January 2, 2026 08:50
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