Avatar for the hyf0 user
hyf0
sugar_path
BlogDocsChangelog

perf: optimize `absolutize` to avoid allocation for already-absolute paths

#34Merged
Comparing
hyf_32849023842
(
26e5a91
) with
main
(
5585dd3
)
CodSpeed Performance Gauge
+48%
Improvement
4
Untouched
25
Skipped
1

Benchmarks

30 total
absolutize_with_already_clean_absolute
benches/absolutize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+48%
10.4 µs7 µs
absolutize_with
benches/absolutize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+48%
10.4 µs7 µs
absolutize
benches/absolutize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+14%
24.3 µs21.3 µs
absolutize_already_clean_absolute
benches/absolutize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+13%
24 µs21.3 µs
to_slash_deep_nesting
benches/to_slash.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+4%
757.5 ns728.3 ns
to_slash_mixed_separators
benches/to_slash.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+4%
793.9 ns764.7 ns
normalize_deep_clean
benches/normalize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
+1%
4.6 µs4.6 µs
to_slash_vs_to_slash_lossy
benches/to_slash.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
9.5 µs9.5 µs
normalize_mixed_workload
benches/normalize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
35.9 µs35.8 µs
normalize_short_clean
benches/normalize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
2.8 µs2.8 µs
as_path_string
benches/as_path.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
683.9 ns683.9 ns
to_slash_absolute_paths
benches/to_slash.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
2.4 µs2.4 µs
normalize_already_clean
benches/normalize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
11.3 µs11.3 µs
as_path_chaining
benches/as_path.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
28.2 µs28.2 µs
as_path_str
benches/as_path.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
537.5 ns537.5 ns
normalize_needs_work
benches/normalize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
28.2 µs28.2 µs
to_slash
benches/to_slash.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
3.8 µs3.8 µs
relative_with_dots
benches/relative.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
8.5 µs8.5 µs
relative_deep_nesting
benches/relative.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
13.1 µs13.1 µs
relative_simple
benches/relative.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
9.6 µs9.6 µs
to_slash_lossy
benches/to_slash.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
0%
6.5 µs6.5 µs
absolutize_dirty_absolute
benches/absolutize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
12.7 µs12.8 µs
relative_parent_child
benches/relative.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
4.6 µs4.7 µs
absolutize_relative_paths
benches/absolutize.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
15 µs15.1 µs
to_slash_lossy_absolute_paths
benches/to_slash.rs::benches::criterion_benchmark
CodSpeed Performance Gauge
-1%
3.8 µs3.8 µs

Commits

Click on a commit to change the comparison range
Base
main
5585dd3
+48.14%
perf: optimize `absolutize` to avoid allocation for already-absolute paths
a892200
1 month ago
by hyf0
0%
fix: Windows CI and cleanup
26e5a91
1 month ago
by hyf0
© 2026 CodSpeed Technology
Home Terms Privacy Docs