Forum: PC-Programmierung clock()


von Christian H. (armand)


Lesenswert?

Hallo zusammen,

weiß von euch jemand wie genau die funktion clock() der header time.h
in C die zeit messen kann?

MfG
Christian

von Christian H. (armand)


Lesenswert?

denn ich hab einen Verdacht das es nicht genauer als millisekunden ist,
da ich bei einer messung außerhalb der messbaren größe bin, das wären
dann unter einer mirkosekunde und so schnell kann der abschnitt in der
Anwendung nicht sein.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Laut vc++-Doku 1/CLOCKS_PER_SEC, was dort als 1000 definiert ist. Also
Millisekunden

von Christian H. (armand)


Lesenswert?

ok danke

von Christian H. (armand)


Lesenswert?

ach ja kennt jemand eine methode auf mikrosekunde genau zu messen?

von Wolfram (Gast)


Lesenswert?

Was willst du eigentlich tun,
willst du jede Mili/Mikrosekunde etwas tun oder willst du nur von
Codeteilen wissen wie lange sie dauern? Da gibt es noch ein
Taskswitching so das nicht immer garantiert ist das du gerade dran
bist.

von Christian H. (armand)


Lesenswert?

Also ich erklär mal mein Problem ich hab auf einer FPGA ein programm
geschrieben und auf nem pc. Nun schick ich der FPGA ein signal dieses
wird verarbeitet und zurückgeschickt. Nun will ich wissen wie lange
genau dieser vorgang gedauert hat.

von Thomas L. (tom)


Lesenswert?

Unter welchem OS soll das Ganze laufen?

Dein Problem: In (z.B.) Windows bietet der Task Scheduler nur eine
Granularität von ms - Genauigkeit. D.h. dein Prozess kann zu dem
Zeitpunkt, zu dem etwas aufritt aktiv sein, oder eben auch nicht.
Dementsprechend sind deine Messwerte relativ zufällig.

Wenn es genauer sein soll, häng einen uC dran, der die Auswertung macht
und bastel dir zwei Leitungen für "Befehl erhalten" und "Befehl
verarbeitet".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.