CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Cycles d'horloges d'un processus.

Blawk
Blawk
Niveau 10
03 décembre 2003 à 14:21:52

Bonjour,

J´aimerai savoir s´il est possible de connaitre le nombre de cycle d´horloge qu´un processus a occuper pendant un laps de temps.
Ceci à but de mesurer strictement l´efficacité d´algorithme.

Merci.

Gonath
Gonath
Niveau 52
03 décembre 2003 à 15:40:50

Ouai, mais c´est sous forme de documentation...

Puis faut que la doc soit en rapport à ton processeur, et là tu peux calculer le nombre de cycle d´horloge pour ton algo.

Kouic
Kouic
Niveau 9
03 décembre 2003 à 18:57:56

Attention, les processeurs arrivent maintenant a executer plusieurs instructions en meme temps, et le nombre depend du type de proc.
Donc un comptage precis ne peux se faire que sur un algo compilé pour une architecture donnée.

Il y a peut etre des moyen plus facile pour determiner son efficitée.

Lightness1024
Lightness1024
Niveau 10
03 décembre 2003 à 20:59:01

tu ferais mieux d´utiliser:

QueryPerformanceFrequency
et
GetTickCount

ya pas plus precis.

zedix
zedix
Niveau 5
03 décembre 2003 à 21:12:34

l´evaluation d´un algo ne se fait pas en fonction du nombre de cycle d´horloge, mais plutot de sa complexité. genre O(n), O(n²), O(nlog(n))...

hs_dino
hs_dino
Niveau 9
03 décembre 2003 à 22:46:46

Attention zedix, on parle de temps CPU et toi tu nous parles de notation asymptotique, c´est pas la meme chose.

par exemple je prends ce processus qui fait une simple intruction :

printf("toto\n");

Sa complexite? Thétà de 1.
Son temps CPU? Un certains nombre de cycles et quelques millisecondes probablement.

L´un est précis, l´autre donne juste une idée du comportement de l´algorithme. L´évaluation d´un algo se fait en fonction de ce qu´on a besoin de savoir, ca peut etre sa complexite, comme çà peut etre le temps. Dans ce cas précis, Blawk parle de cycle horloge.

Pour Blawk, ton information est stockée dans le noyau dans le Bloc de Controle du Processus ( BCP), il doit probablement y avoir des primitives C qui donnent accès a ce genre d´information car la technique du GetTime() ou GetTick() n´est pas valable compte tenu du fait que ton processus n´est pas le seul dans le processeur et donc qu´il n´a pas été tout le temps exécuté durant le temps que tu as estimé entre 2 GetTime().

Diwi
Diwi
Niveau 5
04 décembre 2003 à 11:42:43

les processeurs arrivent maintenant a executer plusieurs instructions

Maintenant, ils peuvent faire plusieurs
instructions à la fois ? ??
J´ai toujours cru qu´ils ne pouvaient faire qu´une seule instruction ( une deuxième étant stockée dans une partie du processeur en attente) et que le fait de pouvoir travailler en multi-tâches était géré par le système d´exploitation lui-même en gérant les priorités

Gonath
Gonath
Niveau 52
04 décembre 2003 à 19:15:36

Non non, je confirme, les processeurs peuvent effectuer plusieurs instructions à la fois. A mon avis c´est surement une des premières choses que les ingénieurs ont cherché à faire...

Blawk
Blawk
Niveau 10
04 décembre 2003 à 19:49:22

Merci à tous, je me renseigne avec ce que vous m´avez dit...

hs_dino
hs_dino
Niveau 9
04 décembre 2003 à 22:19:38

les processeurs arrivent maintenant a executer plusieurs instructions

Apparement oui, je me suis laissé entendre dire que le pentium 4 aurait plusieurs Core. Ce qui laisserait supposer un comportement similaire à du multi processing. Mais bon, j´en connais pas plus la dessus. Une chose est sure, ca ne doit etre valable que dans des cas bien précis étant donné qu´un programme est linéaire et qu´il est en général mieux que les instructions soient éxécutées les unes après les autres :)

Autre chose à ne pas confondre : Le pipeline.
C´est une sorte de tube dans lequel les instructions sont balancées les unes à la suite des autres de manière a éxécuter dans le meilleur des cas 1 instructions par cycle, et comme une instruction prend plusieurs cycles ( cycles de lecture/decodage/execution/ecriture/etc.) plusieurs instructions se trouve donc en meme temps dans le CPU. Mais en réalité une seule n´est vraiment en éxécution.
A mon avis c´est a çà que pense Gonath.

Lightness1024
Lightness1024
Niveau 10
04 décembre 2003 à 23:10:52

ne surtout pas confondre processus et thread. vous avez juste un probleme de vocabulaire.

pour le P4 avec HyperThreading son but est en effet d´executer plusieurs des instructions du code stoqué en cache L1 histoire de prendre du temps d´avance.
le probleme est dans le cas des jmp, un jmp ne permet pas d´executer tout le code ( 50 instructions pour etre precis) car ce n´est pas une instruction linéaire ( c´est un saut).
d´ou parfois l´inopérabilité de l´hyperthreading: perte de 1% de performances au pire et au mieux gain de 30%.
le systeme d´exploitation " voit" ce proc comme un biprocesseur.

Bibichou
Bibichou
Niveau 4
05 décembre 2003 à 18:10:44

si ton proc c´est un 3gherz sa veut dire que il fait
3 000 000 000 cycle d´horloge par secondes

Bibichou
Bibichou
Niveau 4
05 décembre 2003 à 18:11:44

ensuite tu compte le nombre de secondes ! :D

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment