Но вот:
Синтаксис:
Используется csharp
using System;
using System.Diagnostics;
public class CodeTimer : IDisposable
{
private readonly Stopwatch stopWatch;
private readonly string name;
public CodeTimer()
{
name = "noname";
stopWatch = Stopwatch.StartNew();
}
public CodeTimer(string name)
{
this.name = name;
stopWatch = Stopwatch.StartNew();
}
public void Dispose()
{
stopWatch.Stop();
long ts = 1000000L * stopWatch.ElapsedTicks / Stopwatch.Frequency;
UnityEngine.Debug.Log("Время работы кода '" + name + "': " + ts + "мкс.");
}
}
using System.Diagnostics;
public class CodeTimer : IDisposable
{
private readonly Stopwatch stopWatch;
private readonly string name;
public CodeTimer()
{
name = "noname";
stopWatch = Stopwatch.StartNew();
}
public CodeTimer(string name)
{
this.name = name;
stopWatch = Stopwatch.StartNew();
}
public void Dispose()
{
stopWatch.Stop();
long ts = 1000000L * stopWatch.ElapsedTicks / Stopwatch.Frequency;
UnityEngine.Debug.Log("Время работы кода '" + name + "': " + ts + "мкс.");
}
}
Это более-менее удобная надстройка над классом StopWatch. Ключевое различие только в методе обращения.
С stopWatch это было так:
Синтаксис:
Используется csharp
stopWatch = Stopwatch.StartNew();
//наш код
stopWatch.Stop();
ts = 1000000L * stopWatch.ElapsedTicks / Stopwatch.Frequency;
UnityEngine.Debug.Log("Время работы кода ": " + ts + "мкс.");
//наш код
stopWatch.Stop();
ts = 1000000L * stopWatch.ElapsedTicks / Stopwatch.Frequency;
UnityEngine.Debug.Log("Время работы кода ": " + ts + "мкс.");
Я нашел это неудобным и потому переделал. С этим классом стало так:
Синтаксис:
Используется csharp
using (new CodeTimer("Основной цикл") {
//Наш код
}
//Наш код
}
или если скобки не желательны
Синтаксис:
Используется csharp
var c = new CodeTimer("Основной цикл");
//Наш код
c.Dispose();
//Наш код
c.Dispose();