Вы должны использовать BenchmarkDotNet. Однако вот грубый способ достижения того, что вы хотите
Ваш метод
private static async Task<User> GetUserAsync()
{
return await new ApiTester().GetUserAsync();
}
Асинхронное задание Timmer
private static async Task<double> GetUserMsAsync()
{
var sw = new Stopwatch();
sw.Start();
var user = await GetUserAsync();
sw.Stop();
return sw.Elapsed.TotalMilliseconds;
}
тестер
public static async Task Tester()
{
var sw = new Stopwatch();
try
{
var tasks = Enumerable.Range(0, 100)
.Select(x => GetUserMsAsync())
.ToArray();
sw.Start();
var results = await Task.WhenAll(tasks);
foreach (var result in results)
{
Console.WriteLine(result);
}
}
finally
{
sw.Stop();
Console.WriteLine($"sw : {sw.Elapsed:c}");
}
}
Использование
private static void Main(string[] args)
{
Tester().Wait();
Console.ReadKey();
}
Отказ от ответственности , это мало что докажет, если вы не понимаете, что вы тестируете, и среды, в которой вы тестируете. Однако я полагаю, что вы это делаете.
Удачи