public static class ProfilingService { private static Stopwatch? watch = null; public static void StartMeasure() { lastMillis = 0; watch = System.Diagnostics.Stopwatch.StartNew(); System.Console.WriteLine($"[START]"); } public static void StopMeasure() { watch.Stop(); var millis = watch.ElapsedMilliseconds; System.Console.WriteLine($"[END] {millis}ms"); } private static long lastMillis = 0; public static void Measure(string tag) { var millis = watch.ElapsedMilliseconds; System.Console.WriteLine($" > [P {tag}] {millis - lastMillis}ms"); lastMillis = millis; } }