Add more benchmark tests to path/posix
Benchmark testing `is_ancestor_of` and `path_relative_from`
This commit is contained in:
parent
b8c87fd9fe
commit
9f1adf07ad
|
@ -1404,4 +1404,45 @@ mod bench {
|
|||
posix_home_path.ends_with_path(&Path::new("jome"));
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn is_ancestor_of_path_with_10_dirs(bh: &mut BenchHarness) {
|
||||
let path = Path::new("/home/1/2/3/4/5/6/7/8/9");
|
||||
let mut sub = path.clone();
|
||||
sub.pop();
|
||||
bh.iter(|| {
|
||||
path.is_ancestor_of(&sub);
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn path_relative_from_forward(bh: &mut BenchHarness) {
|
||||
let path = Path::new("/a/b/c");
|
||||
let mut other = path.clone();
|
||||
other.pop();
|
||||
bh.iter(|| {
|
||||
path.path_relative_from(&other);
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn path_relative_from_same_level(bh: &mut BenchHarness) {
|
||||
let path = Path::new("/a/b/c");
|
||||
let mut other = path.clone();
|
||||
other.pop();
|
||||
other.push("d");
|
||||
bh.iter(|| {
|
||||
path.path_relative_from(&other);
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn path_relative_from_backward(bh: &mut BenchHarness) {
|
||||
let path = Path::new("/a/b");
|
||||
let mut other = path.clone();
|
||||
other.push("c");
|
||||
bh.iter(|| {
|
||||
path.path_relative_from(&other);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue