Un ptit code pour pikér la vitesse des cpu intel rècents

Contenu du snippet

pour l'utiliser :

Label1.caption:='Vitesse du cpu : 'Inttostr(get_cpu_speed)+'Mz';

Source / Exemple :


function get_cpu_speed:dword;
{
 voila un chtite functon pour prendre la vitesse
 du cpu qui marche avec un pentium au minimum

 bon coding a vous ...

 ManChesTer (c)2002 freeware
}
var Speed : dword;
begin
 SetpriorityClass(getcurrentprocess,REALTIME_PRIORITY_CLASS);
 SetThreadPriority(getcurrentThread,THREAD_PRIORITY_TIME_CRITICAL);
 asm
   push eax
   push edx
   push ecx
   push 1000
   call sleep      // appel de sleep(1000)
   dw   $310F      // rdtsc (red internal cpu timer in cycle)
   add  eax,edx
   mov  speed,eax  // stokez les cycles machine
   push edx
   xor  eax,eax
   push 1000
   call sleep      // appel de sleep(1000)
   pop  edx
   dw   $310F      // relire le timer cpu rdsc
   add  eax,edx
   sub  eax,speed  // garder 1000 millisecondes (1 seconde)
   mov  speed,eax  // le stocké dans speed;
   pop ecx
   pop edx
   pop  eax
 end;
 result:=round((speed / 1000000) / 3)*3; // div 3 * 3 a cose de busfeq
end;

Conclusion :


Meci fabiin, j'ai updater le code en fait le 1er result etais utile dans ma cpulib mais inutile ici, j'avais oublier de l'enlever. Maintenant c'est fait.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.