BenchmarkDotNet - Как ввести параметры снаружи из класса - PullRequest
0 голосов
/ 31 октября 2019

Я использую библиотеку BenchmarkDotNet для проверки производительности и хочу ввести параметры при использовании класса теста. Примерно так:

public class Program
{
    public static void Main()
    {
        var benchmark1 = new BenchmarkWithParameter(100);
        BenchmarkRunner.Run(benchmark1);

        var benchmark2 = new BenchmarkWithParameter(200);
        BenchmarkRunner.Run(benchmark2);
    }
}

public class BenchmarkWithParameter
{
    public BenchmarkWithParameter(int waitTime)
    {
        WaitTime = waitTime;
    }

    public int WaitTime { get; }

    [Benchmark]
    public void Run()
    {
        Thread.Sleep(WaitTime);
    }
}

Есть ли способ достичь этого?

Я знаю, что могу использовать атрибуты Params, ParamsSource и ArgumentsSource, но это значит, чтоМне нужно менять эталонный класс для каждого изменения параметра, а не вводить разные параметры.

Моя главная цель - написать эталонный класс один раз и использовать его много раз с разными параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...