From 1327fd85d311cb5b373e43ca66b63af11d696424 Mon Sep 17 00:00:00 2001 From: Antyss77 Date: Thu, 13 Aug 2026 12:16:40 +0200 Subject: [PATCH] chore: enable CLI args filtering and support multiple benchmark classes Falls back to running everything when no CLI args are passed, so CI behavior stays identical to before. Filtering (e.g. --filter '*RemoveCharacters*') and multi-class discovery remain available for local use. Based on a contribution by @sdwck (PR #14, closed after an accidental fork deletion). --- Benchmarks/Benchmark.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Benchmarks/Benchmark.cs b/Benchmarks/Benchmark.cs index 93df60f..5271e1b 100644 --- a/Benchmarks/Benchmark.cs +++ b/Benchmarks/Benchmark.cs @@ -8,8 +8,16 @@ using StringExtension.Linguistics; using StringExtension.Validation; -BenchmarkRunner.Run( - ManualConfig.Create(DefaultConfig.Instance.WithOptions(ConfigOptions.DisableOptimizationsValidator))); +var config = ManualConfig.Create(DefaultConfig.Instance.WithOptions(ConfigOptions.DisableOptimizationsValidator)); + +if (args.Length == 0) +{ + BenchmarkSwitcher.FromAssembly(typeof(StringExtensionBenchmark).Assembly).Run(new[] { "--filter", "*" }, config); +} +else +{ + BenchmarkSwitcher.FromAssembly(typeof(StringExtensionBenchmark).Assembly).Run(args, config); +} namespace Benchmark {