lotabout.skim/tests/matcher.rs
Loric ANDRE 5b0323a9fb feat!: use Arinae as default algorithm
=== Results: ./target/release/sk [baseline] ===
Completed runs: 50 / 50
Average items matched: 2895782 / 10000000  (min: 2895782, max: 2895782)
Average time: 3.827s  (min: 3.576s, max: 4.090s)
Average items/second: 2615767  (min: 2445033, max: 2796365)
Average peak memory usage: 1589.2 MB  (min: 1518.6 MB, max: 1661.2 MB)
Average peak CPU usage: 528.9%  (min: 457.0%, max: 740.0%)

=== Results: /home/loric/.local/share/cargo/bin/sk ===
Completed runs: 50 / 50
Average items matched: 2895782 / 10000000  (min: 2895782, max: 2895782)
+0.0%
Average time: 3.930s  (min: 3.565s, max: 4.226s)  +2.7%
Average items/second: 2548674  (min: 2366263, max: 2804816)  -2.6%
Average peak memory usage: 1618.8 MB  (min: 1539.1 MB, max: 1680.6 MB)
+1.9%
Average peak CPU usage: 696.8%  (min: 608.0%, max: 875.0%)  +31.7%

=== Results: /home/loric/.nix-profile/bin/fzf ===
Completed runs: 50 / 50
Average items matched: 2895782 / 10000000  (min: 2895782, max: 2895782)
+0.0%
Average time: 5.421s  (min: 4.814s, max: 6.111s)  +41.7%
Average items/second: 1848269  (min: 1636444, max: 2077385)  -29.3%
Average peak memory usage: 2015.3 MB  (min: 1860.7 MB, max: 2173.9 MB)
+26.8%
Average peak CPU usage: 1301.1%  (min: 1229.0%, max: 1431.0%)  +146.0%

=== Comparison Summary (vs baseline: ./target/release/sk) ===
Binary                                       Avg time     Δ time
Avg rate     Δ rate
------------------------------------------------------------------------------------------
./target/release/sk                            3.827s   baseline
2615767   baseline
/home/loric/.local/share/cargo/bin/sk          3.930s      +2.7%
2548674      -2.6%
/home/loric/.nix-profile/bin/fzf               5.421s     +41.7%
1848269     -29.3%
2026-03-10 15:59:59 +01:00

85 lines
2.2 KiB
Rust

#[allow(dead_code)]
#[macro_use]
mod common;
const INPUT_ITEMS: [&str; 49] = [
"src/util.rs",
"src/completions.rs",
"src/manpage.rs",
"src/tmux.rs",
"src/helper/mod.rs",
"src/helper/selector.rs",
"src/helper/item_reader.rs",
"src/helper/item.rs",
"src/helper/macros.rs",
"src/options.rs",
"src/field.rs",
"src/matcher.rs",
"src/output.rs",
"src/item.rs",
"src/bin/main.rs",
"src/binds.rs",
"src/prelude.rs",
"src/theme.rs",
"src/engine/mod.rs",
"src/engine/util.rs",
"src/engine/fuzzy.rs",
"src/engine/all.rs",
"src/engine/split.rs",
"src/engine/regexp.rs",
"src/engine/factory.rs",
"src/engine/normalized.rs",
"src/engine/exact.rs",
"src/engine/andor.rs",
"src/skim_item.rs",
"src/fuzzy_matcher/mod.rs",
"src/fuzzy_matcher/util.rs",
"src/fuzzy_matcher/skim.rs",
"src/fuzzy_matcher/frizbee.rs",
"src/fuzzy_matcher/clangd.rs",
"src/tui/mod.rs",
"src/tui/util.rs",
"src/tui/options.rs",
"src/tui/widget.rs",
"src/tui/preview.rs",
"src/tui/item_list.rs",
"src/tui/event.rs",
"src/tui/backend.rs",
"src/tui/app.rs",
"src/tui/input.rs",
"src/tui/statusline.rs",
"src/tui/header.rs",
"src/lib.rs",
"src/spinlock.rs",
"src/reader.rs",
];
insta_test!(matcher_default, INPUT_ITEMS, &["-q", "stum"], {
@snap;
});
insta_test!(matcher_skim_v2, INPUT_ITEMS, &["-q", "stum", "--algo", "skim_v2"], {
@snap;
});
insta_test!(matcher_clangd, INPUT_ITEMS, &["-q", "stum", "--algo", "clangd"], {
@snap;
});
insta_test!(matcher_frizbee, INPUT_ITEMS, &["-q", "stum", "--algo", "frizbee", "--no-typos"], {
@snap;
});
insta_test!(matcher_frizbee_typos, INPUT_ITEMS, &["-q", "stum", "--algo", "frizbee", "--typos"], {
@snap;
});
insta_test!(matcher_fzy, INPUT_ITEMS, &["-q", "stum", "--algo", "fzy", "--no-typos"], {
@snap;
});
insta_test!(matcher_fzy_typos, INPUT_ITEMS, &["-q", "stum", "--algo", "fzy", "--typos"], {
@snap;
});
insta_test!(matcher_arinae, INPUT_ITEMS, &["-q", "stum", "--algo", "arinae", "--no-typos"], {
@snap;
});
insta_test!(matcher_arinae_typos, INPUT_ITEMS, &["-q", "stum", "--algo", "arinae", "--typos"], {
@snap;
});