| 
			
				|  | JLI Spieleprogrammierung 
 
 |  
 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |  
		| Autor | Nachricht |  
		| TheMillenium Dark JLI'ler
 
 
 
 Anmeldedatum: 21.07.2002
 Beiträge: 1427
 Wohnort: World
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 17.09.2004, 17:30    Titel: Zeitmessung funktioniert nicht... |   |  
				| 
 |  
				|  	  | Code: |  	  | ofstream file; file.open("000.txt",ios::app);
 
 char s1[]="h9g394ndfsn0203zfbd";
 char s2[]="bd9839g23bdnmc9sh6";
 LONGLONG i;
 
 LONGLONG time_start, time_end, time_diff;
 
 
 QueryPerformanceCounter((LARGE_INTEGER*)&time_start);
 for(i=0;i<100000000;i++)
 (String_same1(s1,s2));
 QueryPerformanceCounter((LARGE_INTEGER*)&time_end);
 
 time_diff = time_end-time_start;
 
 cout   << "\n\n\n" << (float)time_end << "ms\n" \
 << (float)time_end/1000 << "s\n" \
 << (int)time_end/1000 << "s\n\n";
 
 file            << (float)time_end << "ms\n" \
 << (float)time_end/1000 << "s\n" \
 << (int)time_end/1000 << "s\n\n";
 
 file.close();
 | 
 
 Warum kriege ich in dem Logfile immer nur sowas wie:
 
  	  | Zitat: |  	  | 7.39566e+010ms 7.39566e+007s
 942122s
 | 
 
  	  | Zitat: |  	  | 7.59585e+010ms
 7.59585e+007s
 -1350949s
 
 | 
 
 Ich hab mal ungefähr gemessen wie groß die Zeitdifferenz in Wirklichkeit sein sollte und das wären ziemlich genau 70s.
 
 Ich habe keine Ahnung woran das liegt, ich hab es auch mit timeGetTime() und GetTickCounts() versucht...
 _________________
 The source of all power is in its destiny...
 |  |  
		| Nach oben |  |  
		|  |  
		| PeaceKiller JLI Master
 
  
 Alter: 36
 Anmeldedatum: 28.11.2002
 Beiträge: 970
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 17.09.2004, 18:45    Titel: |   |  
				| 
 |  
				| Der Performance Counter gibt keine ms zurück sonder, arbeitet mit seiner eigenen Frequenz die du mit QueryPerformanceFrequency (oder so änlich) abfragen kannst. Einfach die Zeitdifferenz durch die Frequenz teilen und du weisst wie viele Sekunden es beraucht hat. _________________
 »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
 – Robert X. Cringely, InfoWorld magazine
 |  |  
		| Nach oben |  |  
		|  |  
		| TheMillenium Dark JLI'ler
 
 
 
 Anmeldedatum: 21.07.2002
 Beiträge: 1427
 Wohnort: World
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 17.09.2004, 19:37    Titel: |   |  
				| 
 |  
				| Hab ich gemacht. Jetzt bekomm ich aber 0 heraus...   
 
  	  | Code: |  	  | LONGLONG i; 
 LONGLONG time_start, time_end, time_diff, Frequenz;
 
 QueryPerformanceFrequency((LARGE_INTEGER*)&Frequenz);
 cout << "Frequenz: " << Frequenz << "\n\n";
 
 
 QueryPerformanceCounter((LARGE_INTEGER*)&time_start);
 for(i=0;i<100000;i++)
 (String_same2(s1,s2));
 QueryPerformanceCounter((LARGE_INTEGER*)&time_end);
 
 file << "time_start: " << time_start << "  " << time_start/Frequenz << "\n";
 file << "time_end: " << time_end << "  " << time_end/Frequenz << "\n";
 
 time_diff = (time_end-time_start)/Frequenz;
 
 cout   << "\n\n\n" << (float)time_diff << "ms\n" \
 << (float)time_diff/1000 << "s\n" \
 << (int)time_diff/1000 << "s\n\n";
 
 file            << (float)time_diff << "ms\n" \
 << (float)time_diff/1000 << "s\n" \
 << (int)time_diff/1000 << "s\n\n";
 
 file.close();
 | 
 
 
  	  | Zitat: |  	  | time_start: 103234756509  28840 time_end: 103234916214  28840
 0ms
 0s
 0s
 | 
 
 
  	  | Zitat: |  	  | time_start: 104385325705  29161 time_end: 104385493545  29161
 0ms
 0s
 0s
 | 
 
 time_start und time_end haben verschiedene Werte, teilt man sie aber durch Frequenz dann kommen die gleichen Ergebnisse heraus...komisch
 
 
 edit:
 
 bei i<100000000
 
  	  | Zitat: |  	  | time_start: 106588906843  29777 time_end: 106759627489  29824
 47ms
 0.047s
 0s
 
 | 
 _________________
 The source of all power is in its destiny...
 |  |  
		| Nach oben |  |  
		|  |  
		|  |  
  
	| 
 
 | Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten.
 Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
 Du kannst deine Beiträge in diesem Forum nicht löschen.
 Du kannst an Umfragen in diesem Forum nicht mitmachen.
 
 |  
 Powered by phpBB © 2001, 2005 phpBB Group
 Deutsche Übersetzung von phpBB.de
 |