/
niceSOFT
/
python3-pathspec
Обзор
Документация
Войти
/
niceSOFT
/
python3-pathspec
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
benchmarks/bench_pathspec_match_file_p1.py
106 строк
2 KB
Caleb Burns
WIP
09 дек 2025, 07:52
Не верифицирован
09 дек 2025, 07:52
7bb5aae
Код
Авторство
О чём код?
""" This module benchmarks `PathSpec.match_file()` using 1 pattern. """ import pytest from pytest_benchmark.fixture import ( BenchmarkFixture) from pathspec import ( PathSpec) GROUP = "PathSpec.match_file(): 1 line, one file" # Hyperscan backend. @pytest.mark.benchmark(group=GROUP) def bench_hs_v1_none( benchmark: BenchmarkFixture, flit_file_match_none: str, flit_gi_lines_1: list[str], ): spec = PathSpec.from_lines( 'gitignore', flit_gi_lines_1, backend='hyperscan', ) benchmark(run_match, spec, flit_file_match_none) @pytest.mark.benchmark(group=GROUP) def bench_hs_v1_start( benchmark: BenchmarkFixture, flit_file_match_start: str, flit_gi_lines_1: list[str], ): spec = PathSpec.from_lines( 'gitignore', flit_gi_lines_1, backend='hyperscan', ) benchmark(run_match, spec, flit_file_match_start) # Re2 backend. @pytest.mark.benchmark(group=GROUP) def bench_re2_v1_none( benchmark: BenchmarkFixture, flit_file_match_none: str, flit_gi_lines_1: list[str], ): spec = PathSpec.from_lines( 'gitignore', flit_gi_lines_1, backend='re2', ) benchmark(run_match, spec, flit_file_match_none) @pytest.mark.benchmark(group=GROUP) def bench_re2_v1_start( benchmark: BenchmarkFixture, flit_file_match_start: str, flit_gi_lines_1: list[str], ): spec = PathSpec.from_lines( 'gitignore', flit_gi_lines_1, backend='re2', ) benchmark(run_match, spec, flit_file_match_start) # Simple backend. @pytest.mark.benchmark(group=GROUP) def bench_sm_v1_none( benchmark: BenchmarkFixture, flit_file_match_none: str, flit_gi_lines_1: list[str], ): spec = PathSpec.from_lines( 'gitignore', flit_gi_lines_1, backend='simple', ) benchmark(run_match, spec, flit_file_match_none) @pytest.mark.benchmark(group=GROUP) def bench_sm_v1_start( benchmark: BenchmarkFixture, flit_file_match_start: str, flit_gi_lines_1: list[str], ): spec = PathSpec.from_lines( 'gitignore', flit_gi_lines_1, backend='simple', ) benchmark(run_match, spec, flit_file_match_start) def run_match(spec: PathSpec, file: str): _match = spec.match_file(file)