mix@lis Δημοσ. 19 Ιουνίου 2005 Δημοσ. 19 Ιουνίου 2005 καλημερα σας........ θα ηθελα να ρωτησω αμα υπαρχει καποια συναρτηση στη c η οποια να μου δειχνει τον χρονο εκτελεσης ενος προγραματος.......και να μου τον εμφανιζει.
My8os Δημοσ. 19 Ιουνίου 2005 Δημοσ. 19 Ιουνίου 2005 Δεν ξέρω αν υπάρχει έτοιμη συνάρτηση αλλά ένας τρόπος για να δείς τον χρόνο εκτέλεσης ενός προγράμματος είναι με την χρήση της συνάρτησης time(). Η συνάρτηση αυτή σου επιστρέφει σε δευτερόλεπτα την τρέχουσα ώρα του ημερολογίου, οπότε την καλείς μια στην αρχή και μια στο τέλος του προγράμματος και με μια αφαίρεση έχεις αυτό που ζητάς (σε δευτερόλεπτα πάντα). Ένα παραδειγματάκι: > #include <stdio.h> #include <time.h> int main() { char c; int start = time(0); printf("Start, press 's' to stop\n"); while(c!='s') scanf("%c",&c); int finish = time(0); printf("Stop, run time: %d seconds\n",(finish-start)); } ps: μη ξεχάσεις να κάνεις include την time.h.
mix@lis Δημοσ. 19 Ιουνίου 2005 Μέλος Δημοσ. 19 Ιουνίου 2005 ok φιλε..........καλη η σκεψη σου...βεβαια θα ηταν καλυτερο αν μου ελεγες μια ετοιμη συναρτηση αλλα.....στην αναβροχια καλο και το χαλαζι!!!!!!....παντως ευχαριστω πολυ....να'σαι καλα.....
nodreams.ct Δημοσ. 19 Ιουνίου 2005 Δημοσ. 19 Ιουνίου 2005 υπάρχει και η double timediff(time_t, time_t) (κάνε man timediff) επίσης αν θες να είσαι σωστός τις μεταβλητές να τις ορίσεις time_t.
eirc Δημοσ. 27 Ιουνίου 2005 Δημοσ. 27 Ιουνίου 2005 αυτό που έχει φάση στην όλη υπόθεση είναι οτι η time επιστρέφει τον χρόνο σε δευτερόλεπτα απο την "αρχή του χρόνου" εν έτη 1970 - δημιουργία του Unix
godlike Δημοσ. 27 Ιουνίου 2005 Δημοσ. 27 Ιουνίου 2005 Καλύτερα θα ήταν να χρησιμοποιήσεις profiler. Για όσους δεν ξέρουν profiler είναι ένα πρόγραμμα που κρατάει διάφορα στατιστικά για το πρόγραμμα που τρέχει. Χρόνους της κάθε συνάρτησης, memory allocations και deallocations κ.τ.λ.. Αν έχεις Visual Studio μπορώ να σου πω πως θα τον ενεργοποιήσεις.
Maniakos Δημοσ. 1 Ιουλίου 2005 Δημοσ. 1 Ιουλίου 2005 Mπορείς επίσης να χρησιμοποιήσεις την GetSystemTime() ή την GetLocalTime() για να γεμισεις μια SYSTEMTIME structure και μετά να αφαιρέσεις τις δύο τιμές για να βρείς τα δευτερόλεπτα ή ms που χρειάστηκε το application. Καλή η ιδέα του godlike αλλά δεν έχει νόημα να μπλέξεις με κάτι τέτοιο για κάτι τόσο απλό. msdn: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getlocaltime.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getsystemtime.asp
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.