mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-11-20 02:36:35 +00:00
2989c163a8
* editorconfig: Add default charset * Change file encoding from UTF-8-BOM to UTF-8
82 lines
2.2 KiB
C#
82 lines
2.2 KiB
C#
using System.Diagnostics;
|
|
|
|
namespace Ryujinx.Common
|
|
{
|
|
public static class PerformanceCounter
|
|
{
|
|
private static readonly double _ticksToNs;
|
|
|
|
/// <summary>
|
|
/// Represents the number of ticks in 1 day.
|
|
/// </summary>
|
|
public static long TicksPerDay { get; }
|
|
|
|
/// <summary>
|
|
/// Represents the number of ticks in 1 hour.
|
|
/// </summary>
|
|
public static long TicksPerHour { get; }
|
|
|
|
/// <summary>
|
|
/// Represents the number of ticks in 1 minute.
|
|
/// </summary>
|
|
public static long TicksPerMinute { get; }
|
|
|
|
/// <summary>
|
|
/// Represents the number of ticks in 1 second.
|
|
/// </summary>
|
|
public static long TicksPerSecond { get; }
|
|
|
|
/// <summary>
|
|
/// Represents the number of ticks in 1 millisecond.
|
|
/// </summary>
|
|
public static long TicksPerMillisecond { get; }
|
|
|
|
/// <summary>
|
|
/// Gets the number of ticks elapsed since the system started.
|
|
/// </summary>
|
|
public static long ElapsedTicks
|
|
{
|
|
get
|
|
{
|
|
return Stopwatch.GetTimestamp();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the number of milliseconds elapsed since the system started.
|
|
/// </summary>
|
|
public static long ElapsedMilliseconds
|
|
{
|
|
get
|
|
{
|
|
long timestamp = Stopwatch.GetTimestamp();
|
|
|
|
return timestamp / TicksPerMillisecond;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the number of nanoseconds elapsed since the system started.
|
|
/// </summary>
|
|
public static long ElapsedNanoseconds
|
|
{
|
|
get
|
|
{
|
|
long timestamp = Stopwatch.GetTimestamp();
|
|
|
|
return (long)(timestamp * _ticksToNs);
|
|
}
|
|
}
|
|
|
|
static PerformanceCounter()
|
|
{
|
|
TicksPerMillisecond = Stopwatch.Frequency / 1000;
|
|
TicksPerSecond = Stopwatch.Frequency;
|
|
TicksPerMinute = TicksPerSecond * 60;
|
|
TicksPerHour = TicksPerMinute * 60;
|
|
TicksPerDay = TicksPerHour * 24;
|
|
|
|
_ticksToNs = 1000000000.0 / Stopwatch.Frequency;
|
|
}
|
|
}
|
|
}
|