Funktionsdurchlauf-Berechnung
-
c.rackwitz schrieb:
time.h/clock()
Wegen der Meßungenauigkeiten würde ich
deine Funktion allerdings mehrfach
durchlaufen lassen, wenn sich die Laufzeit
auf unter 1 Sekunde beschränkt.
-
mehrfach ist schon untertrieben
bei sehr kurzen funktionen bzw. kleinen funktionen brauchst paar 10000 mit einem neuem pc.wenn du aber einen algo testen willst, solltest du möglichst alle sleep(...), eingabebefehle sowie ausgaben entfernen
-
stoppuhr! schaerft die reaktion, gibt auch eine gesunde messungenauigkeit. genau das richtige.
-
Danke fuer den Tipp mit den clock(), aber auf mipsel funktioniert diese funktion nicht.
Wenn ich das Programm starte erhalte ich folgende Meldung:
can't resolve symbol 'clock'
Nagut ich versuche es mal mit gettimeofday, die sieht auch nich schlecht aus.
Gruss Olli.
-
can't resolve symbol?
zeig mal den code... kann ja nicht sein, dass dein compiler clock() aus time.h nicht kennt
-
moin
zeig mal den code... kann ja nicht sein, dass dein compiler clock() aus time.h nicht kennt
Unter linux (SUSE) funktioniert es, ebenfalls unter Win32 aber unter linux
(MIPSEL) nicht, da kommt die Fehlermeldung wenn ich das Programm starte !!!
Also der bringt mir beim Kompilieren keine Fehler und macht auch eine
Binaer-Datei.Variablen start und end habe ich globel definiert.
clock_t start, end;
/* Start-Variable setzen. */ void SetClock(void) { start = clock(); }
/* End-Variable setzen und ggf funktionsname ausgeben. */ void GetClock(char *func) { end = clock(); if ((end - start) > 10000) printf("%d %s\n", (end - start), func); }
Code Beispiel:
SetClock(); ListenOS(); GetClock("ListenOS");
Gruss Olli.
-
"Also der bringt mir beim Kompilieren keine Fehler und macht auch eine Binaer-Datei."
??? entweder es gibt ne compilermeldung oder nicht.was ist die compilermeldung? du hast mir genau garnichts gesagt, ausser dass du scheinbar nirgends time.h inkludiert hast.
ausserdem, warum brauchst du das fuer "mipsel"?
im moment ist hier garnichts klar. klaers bitte auf, wenn du hilfe brauchst.
-
Also MIPSel sagt mir jetzt so spontan nichts, aber wenn es sich dabei um einen Microcontroller o.Ä. handelt ist es durchaus nicht ungewöhnlich, dass clock() nicht implementiert ist. Da kämst du dann vermutlich nicht darum dir die MIPS Spezifikation zu schnappen und herauszusuchen was der für Timermöglichkeiten anbietet und dir daraus eine clock() Funktion selbst zu stricken...
-
http://de.wikipedia.org/wiki/MIPSel
http://www.debian.org/ports/mips/was man so im netz findet.
nach mikroprozessor klingts nicht gerade, also ist wohl anzunehmen, dass der OP irgendwas verheimlicht.
-
dass der OP irgendwas verheimlicht.
Bin ich jetzt damit gemeint? Das waere ja echt krass...
Wo ich dran arbeite ist kein kleines Projekt. Die Software kann im DOS, WIN32, LINUX und auf ein ACCESS POINT Router wie z.B. der WRT54 (MIPSEL) eingesetzt
werden.dass clock() nicht implementiert ist.
Ja das wird so sein!
Aber das mit der funktion gettimeofday funktioniert nun.
im moment ist hier garnichts klar. klaers bitte auf, wenn du hilfe brauchst.
Doch mein Guter und vielen danke fuer eure Beitraege.
Gruss Olli.