begin process at 2012 02 11 06:45:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > CALCULER LA VITESSE DU CPU

CALCULER LA VITESSE DU CPU


 Information sur la source

Note :
7,33 / 10 - par 3 personnes
7,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :04/05/2002 Date de mise à jour :04/05/2002 22:05:43 Vu :4 511

Auteur : ManChesTer

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

bein voila une chtite function qui calcule la vitesse du cpu.

faites par exemple

label1:=inttostr(GetCpuSpeed);

voila bon coding a vous

ManChesTer  

Source

  • 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;
  • perform: int64;
  • begin
  • perform:=0;
  • 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;
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;
    perform: int64;
begin
 perform:=0;
 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;  



 Sources du même auteur

Source avec Zip FAIRE SCROLLER VERTICALEMENT UN MÉMO
Source avec Zip UNE AUTRE TECHNIQUE POUR GERER CERTAINES CLASS (EXEMPLE AVEC...
Source avec Zip DELPHI COLORS TO HTML COLORS
Source avec Zip Source avec une capture UN COMPOSANT (THREAD) QUI FAIS DANCER ET DÉFILLER DU TEXTE
Source avec Zip Source avec une capture REDIMENSIONNER UN BITMAP AVEC SMOTH

 Sources de la même categorie

Source avec Zip TRI DBRID CROISSANT ET DECROISSANT par walidlam
Source avec Zip PETITE APPLICATION DE RETENUE par walidlam
Source avec Zip APPLICATION ALIAS+EXCEL par walidlam
Source avec Zip ACCÈS À DIFFÉRENTES PROPRITÉS D'UNE FORME PARENT À PARTIR DE... par ioda19
CODAGE EN BASE64 DE CHAÎNES UNICODE par gta126

Commentaires et avis

Commentaire de DelphiCool le 04/05/2002 21:20:11 administrateur CS

c'est cool, mais pour ce qui ne pige rien ou presque à lASM, c'est hard

Commentaire de koko le 05/05/2002 01:56:58

tu as écrit ceci :
bein voila une chtite function qui calcule la vitesse du cpu.

faites par exemple

label1:=inttostr(GetCpuSpeed);

voila bon coding a vous

ManChesTer

c pas plutot label1.CAPTION:=inttostr(GetCpuSpeed); ?

Commentaire de ManChesTer le 05/05/2002 19:07:55 administrateur CS

si si coco ca vas de soi non ?

Commentaire de ManChesTer le 05/05/2002 19:07:56 administrateur CS

si si coco ca vas de soi non ?

Commentaire de zmc le 23/07/2002 23:49:24

oula ca marche cool, lol koko a mon avis un gars qui ecrit 10 lignes de hard asm sait attribué un text a un label... tres bonne function mais fodra m'expliké :)

Commentaire de _Jonathan le 08/01/2004 20:28:52

salut
en fait, je pense ke modifier la priorité du process n'est pas determinante.
je pense ke sa depend de la charge du cpu, voila
g fait des tests et ya pa une grande difference de vitesse en changeant la priorité.
bon, a+ et bonne prog a tous

Commentaire de ManChesTer le 08/01/2004 21:59:19 administrateur CS

_jonathan,

Non ce n'est pas determinant mais indispensable pour obtenir un resultat valable, lol

en effet si windows ecrit sur le disque dur (par exemple) au moment ou tu lance la routine sans definir une prioritè "Haute", tu peux obtenir nimporte quel genre de valeur fantaisistes 4.888 mz pour un Pentium 200mz par exemple...

Windows est ultitache et il faut en tenir compte ;o))

Bon coding ...

ManChesTer.

Commentaire de Zeroc00l le 28/06/2004 23:48:31

Avec les hordes de dresseurs de mûles qui traine sur ce site ...
Je comprends pourquoi il faut le mettre en priorité ... haute :þ

(Chauffe Chauffffe mon DD ... :D !)

Commentaire de LeFrettchen le 01/09/2004 02:30:07

bin chez moi ça marche pas !
connais pas : dword, int64

quelqu'un serait-il assez gentil pour nous traduire ça en Delphi ?

En plus, j'ai Delphi 4, et il ne reconnait pas :
- SetpriorityClass
- getcurrentprocess
- REALTIME_PRIORITY_CLASS
- SetThreadPriority
- getcurrentThread
- THREAD_PRIORITY_TIME_CRITICAL
- sleep

et il me trouve des erreurs de concordance de taille d'opérande

Commentaire de ManChesTer le 01/09/2004 22:03:36 administrateur CS

lol,

uses Windows;

int64 est reconnu par Delphi 4....

Dword peut etre remplacer par Cardinal;

Bon Coding...

ManChesTer.

Commentaire de LeFrettchen le 02/09/2004 00:09:45

ah ouais, effectivement, ça marche mieux avec uses windows;

merci tout plein !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales