/
EugenyCh7
/
VividUI.Net
Обзор
Документация
Войти
/
EugenyCh7
/
VividUI.Net
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
VividUI.Net.Demo/Measuring.cs
37 строк
1 KB
EugenyCh7
TextSprite теперь умеет рендерить часть текста
26 сен 2024, 23:13
26 сен 2024, 23:13
353a839
Код
Авторство
О чём код?
namespace VividUI.Net.Demo { public static class Measuring { public static void Run(string title, int numberOfLaunches, Action action) { TimeSpan min = TimeSpan.MaxValue; TimeSpan max = TimeSpan.MinValue; TimeSpan mean = TimeSpan.Zero; ConsoleColor defaultForeground = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(title); for (int i = 0; i < numberOfLaunches; i++) { DateTime a = DateTime.Now; action.Invoke(); DateTime b = DateTime.Now; TimeSpan delta = b - a; Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine($"{i + 1} / {numberOfLaunches}: {delta.TotalSeconds:F3} sec"); if (min > delta) min = delta; if (max < delta) max = delta; mean += delta; } mean /= numberOfLaunches; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"Best: {min.TotalSeconds:F3} sec"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Worst: {max.TotalSeconds:F3} sec"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"Mean: {mean.TotalSeconds:F3} sec"); Console.ForegroundColor = defaultForeground; } } }