Click here to Skip to main content
15,920,708 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: SpinCtrl Pin
PJ Arends10-Apr-03 9:27
professionalPJ Arends10-Apr-03 9:27 
GeneralRe: SpinCtrl Pin
Heiko200310-Apr-03 10:42
sussHeiko200310-Apr-03 10:42 
GeneralProblem with WorkQueue Pin
Martin_Viet10-Apr-03 4:46
Martin_Viet10-Apr-03 4:46 
GeneralGetting Systeminformations Pin
Sendel10-Apr-03 4:46
Sendel10-Apr-03 4:46 
GeneralRe: Getting Systeminformations Pin
MarkyMark10-Apr-03 5:24
MarkyMark10-Apr-03 5:24 
GeneralRe: Getting Systeminformations Pin
Sendel10-Apr-03 7:08
Sendel10-Apr-03 7:08 
GeneralRe: Getting Systeminformations Pin
Dominik Reichl10-Apr-03 9:16
Dominik Reichl10-Apr-03 9:16 
GeneralRe: Getting Systeminformations Pin
Sendel10-Apr-03 10:19
Sendel10-Apr-03 10:19 
This is my solution: i don't know where I found this source, but its quite good: and with comments Poke tongue | ;-P

<br />
#include <mmsystem.h><br />
#pragma comment(lib, "winmm.lib")<br />
<br />
DWORD GetCPUSpeed() <br />
{<br />
	LARGE_INTEGER ulFreq, ulTicks, ulValue, ulStartCounter, ulEAX_EDX;<br />
<br />
	// Query for high-resolution counter frequency (this is not the CPU frequency):<br />
	if (QueryPerformanceFrequency(&ulFreq)) <br />
	{<br />
		// Query current value:<br />
		QueryPerformanceCounter(&ulTicks);<br />
		// Calculate end value (one second interval); this is (current + frequency)<br />
		ulValue.QuadPart = ulTicks.QuadPart + ulFreq.QuadPart;<br />
		// Read CPU time-stamp counter:<br />
		__asm RDTSC<br />
		// And save in ulEAX_EDX:<br />
		__asm mov ulEAX_EDX.LowPart, EAX<br />
		__asm mov ulEAX_EDX.HighPart, EDX<br />
		// Store starting counter value:<br />
		ulStartCounter.QuadPart = ulEAX_EDX.QuadPart;<br />
		// Loop for one second (measured with the high-resolution counter):<br />
		do <br />
		{<br />
			QueryPerformanceCounter(&ulTicks);<br />
		} while (ulTicks.QuadPart <= ulValue.QuadPart);<br />
		// Now again read CPU time-stamp counter:<br />
		__asm RDTSC<br />
		// And save:<br />
		__asm mov ulEAX_EDX.LowPart, EAX<br />
		__asm mov ulEAX_EDX.HighPart, EDX<br />
		<br />
		DWORD tmp = (DWORD) ((ulEAX_EDX.QuadPart - ulStartCounter.QuadPart) / 1000000);<br />
		timediff = tmp/10000000.0*0.001;<br />
		// Calculate number of cycles done in interval; 1000000 Hz = 1 MHz<br />
		return tmp;<br />
	} else {<br />
		// No high-resolution counter present:<br />
		return 0;<br />
	}<br />
}


Thanks for all information,
=Sendel=
GeneralCDao problem with 'create' Pin
naradaji10-Apr-03 4:00
naradaji10-Apr-03 4:00 
GeneralRe: CDao problem with 'create' Pin
Carlos Antollini10-Apr-03 4:05
Carlos Antollini10-Apr-03 4:05 
GeneralRe: CDao problem with 'create' Pin
naradaji10-Apr-03 4:08
naradaji10-Apr-03 4:08 
GeneralRe: CDao problem with 'create' Pin
Carlos Antollini10-Apr-03 4:26
Carlos Antollini10-Apr-03 4:26 
GeneralRe: CDao problem with 'create' Pin
naradaji10-Apr-03 4:42
naradaji10-Apr-03 4:42 
Generalexceptions Pin
Jonathan [Darka]10-Apr-03 3:56
professionalJonathan [Darka]10-Apr-03 3:56 
GeneralRe: exceptions Pin
Alvaro Mendez10-Apr-03 6:42
Alvaro Mendez10-Apr-03 6:42 
GeneralGetting the response headers Pin
RED10-Apr-03 3:47
RED10-Apr-03 3:47 
GeneralExecution question Pin
Jump_Around10-Apr-03 3:45
Jump_Around10-Apr-03 3:45 
GeneralRe: Execution question Pin
Cedric Moonen10-Apr-03 3:49
Cedric Moonen10-Apr-03 3:49 
GeneralRe: Execution question Pin
valikac10-Apr-03 7:47
valikac10-Apr-03 7:47 
GeneralRe: Execution question Pin
imsniper11-Apr-03 0:22
imsniper11-Apr-03 0:22 
QuestionHow to keep a C++ com dll in memory? Pin
Anonymously10-Apr-03 3:37
Anonymously10-Apr-03 3:37 
AnswerRe: How to keep a C++ com dll in memory? Pin
Brian Shifrin10-Apr-03 8:02
Brian Shifrin10-Apr-03 8:02 
GeneralRe: How to keep a C++ com dll in memory? Pin
Anonymously10-Apr-03 16:03
Anonymously10-Apr-03 16:03 
GeneralUrl problem Pin
Jump_Around10-Apr-03 3:34
Jump_Around10-Apr-03 3:34 
GeneralRe: Url problem Pin
rrrado10-Apr-03 3:46
rrrado10-Apr-03 3:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.