#pragma once

namespace MT
{
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
inline int64 GetFrequency()
{
	LARGE_INTEGER frequency;
	QueryPerformanceFrequency(&frequency);
	return frequency.QuadPart;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
inline int64 GetTimeMilliSeconds()
{
	LARGE_INTEGER largeInteger;
	QueryPerformanceCounter( &largeInteger );
	return ( largeInteger.QuadPart * int64(1000) ) / GetFrequency();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
inline int64 GetTimeMicroSeconds()
{
	LARGE_INTEGER largeInteger;
	QueryPerformanceCounter( &largeInteger );
	return ( largeInteger.QuadPart * int64(1000000) ) / GetFrequency();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}

