mirror of
				https://github.com/TES3MP/openmw-tes3mp.git
				synced 2025-11-04 09:26:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//
 | 
						|
// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org
 | 
						|
//
 | 
						|
// This software is provided 'as-is', without any express or implied
 | 
						|
// warranty.  In no event will the authors be held liable for any damages
 | 
						|
// arising from the use of this software.
 | 
						|
// Permission is granted to anyone to use this software for any purpose,
 | 
						|
// including commercial applications, and to alter it and redistribute it
 | 
						|
// freely, subject to the following restrictions:
 | 
						|
// 1. The origin of this software must not be misrepresented; you must not
 | 
						|
//    claim that you wrote the original software. If you use this software
 | 
						|
//    in a product, an acknowledgment in the product documentation would be
 | 
						|
//    appreciated but is not required.
 | 
						|
// 2. Altered source versions must be plainly marked as such, and must not be
 | 
						|
//    misrepresented as being the original software.
 | 
						|
// 3. This notice may not be removed or altered from any source distribution.
 | 
						|
//
 | 
						|
 | 
						|
#include "PerfTimer.h"
 | 
						|
 | 
						|
#if defined(WIN32)
 | 
						|
 | 
						|
// Win32
 | 
						|
#include <windows.h>
 | 
						|
 | 
						|
TimeVal getPerfTime()
 | 
						|
{
 | 
						|
	__int64 count;
 | 
						|
	QueryPerformanceCounter((LARGE_INTEGER*)&count);
 | 
						|
	return count;
 | 
						|
}
 | 
						|
 | 
						|
int getPerfTimeUsec(const TimeVal duration)
 | 
						|
{
 | 
						|
	static __int64 freq = 0;
 | 
						|
	if (freq == 0)
 | 
						|
		QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
 | 
						|
	return (int)(duration*1000000 / freq);
 | 
						|
}
 | 
						|
 | 
						|
#else
 | 
						|
 | 
						|
// Linux, BSD, OSX
 | 
						|
 | 
						|
#include <sys/time.h>
 | 
						|
 | 
						|
TimeVal getPerfTime()
 | 
						|
{
 | 
						|
	timeval now;
 | 
						|
	gettimeofday(&now, 0);
 | 
						|
	return (TimeVal)now.tv_sec*1000000L + (TimeVal)now.tv_usec;
 | 
						|
}
 | 
						|
 | 
						|
int getPerfTimeUsec(const TimeVal duration)
 | 
						|
{
 | 
						|
	return (int)duration;
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |