Avatar for the recmo user
recmo
uint
BlogDocsChangelog

perf: use bit shifts for power-of-two formatting

#565Merged
Comparing
DaniPopes:dani/fmt-pow2-fast-paths
(
04e7742
) with
main
(
fa46a21
)
CodSpeed Performance Gauge
×7.7
Improvement
12
Untouched
374

Benchmarks

386 total
fmt/hex/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
×7.7
4,519.8 µs584.9 µs
fmt/octal/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
×3.5
4.4 ms1.3 ms
fmt/binary/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
×2.3
5.3 ms2.3 ms
fmt/hex/192
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+81%
6.4 ms3.6 ms
fmt/hex/512
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+77%
14.4 ms8.1 ms
fmt/hex/256
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+77%
8 ms4.5 ms
fmt/hex/384
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+77%
11.2 ms6.3 ms
fmt/octal/256
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+19%
8.6 ms7.3 ms
fmt/octal/512
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+15%
15.8 ms13.7 ms
to/f64/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+11%
29.3 µs26.4 µs
to/f32/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+11%
29.1 µs26.2 µs
most_significant_bits/4096/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+11%
28.9 µs26.1 µs
fmt/octal/384
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+9%
12.2 ms11.2 ms
parse/binary/4096/zero
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+8%
34.9 µs32.3 µs
parse/hex/4096/zero
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+8%
34.9 µs32.4 µs
parse/octal/4096/zero
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+8%
35 µs32.5 µs
parse/decimal/4096/zero
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+5%
52 µs49.4 µs
neg/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+4%
72.8 µs70 µs
sub/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+3%
96.1 µs93.1 µs
add/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+3%
96.1 µs93.2 µs
is_zero/4096
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
+1%
4.1 µs4.1 µs
fmt/octal/192
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
base_convert/384/384/10/be
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
0%
64.7 ms64.5 ms
parse/hex/4096/max
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
0%
831.3 µs828.7 µs
parse/octal/4096/max
benches/bench.rs::benches::benches::group
CodSpeed Performance Gauge
0%
994.3 µs991.8 µs

Commits

Click on a commit to change the comparison range
Base
main
fa46a21
×7.7
perf: use bit shifts for power-of-two formatting
d7e0bd7
23 days ago
by DaniPopes
-0.02%
Merge branch 'main' into dani/fmt-pow2-fast-paths
04e7742
18 days ago
by DaniPopes
© 2026 CodSpeed Technology
Home Terms Privacy Docs