Entwickler-Ecke
Sonstiges (Delphi) - Benchmark
Jann1k - Do 21.12.06 02:47
Titel: Benchmark
Gut der einführungsthread wird recht kurz, also folgendes:
ich soll/will ein benchmark programm in Delphi schreiben, dieses soll nur die Leistung der CPU testen/anzeigen, leider fehlt mir irgendwie die Idee wie das jetzt genau zu realisieren ist.
Also: Wie programmiert man einen CPU Benchmark in Delphi?
Thx für jedwede vorschläge
mir is grad eingefallen, dasses doch einen befehl zur abfrage der computerinternen zeit gibt, nur find ich den nicht, wie ging der nochmal?
Jann1k - So 24.12.06 13:31
hmm das hilft mir nicht wirklich weiter da ich in delphi nciht so gut bin, dass ich wirklich was vom quelltext versteh, ich musses ja selber programmieren
jemand ne idee für die funktion die die cpu zeit rausgibt?
jaenicke - So 24.12.06 14:02
Na gut, das ist ja nicht ganz so einfach, deshalb hier mal eine Funtkion, die die Taktfrequenz anhand eines Benchmarks approximiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| function TScribaLog.GetCPUSpeed: Double; const TimeOfDelay = 500; var TimerHigh, TimerLow: DWord; begin SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL); asm dw 310Fh mov TimerLow, eax mov TimerHigh, edx end; Sleep(TimeOfDelay); asm dw 310Fh sub eax, TimerLow sub edx, TimerHigh mov TimerLow, eax mov TimerHigh, edx end; Result := TimerLow / (1000.0 * TimeOfDelay); SetPriorityClass(GetCurrentProcess, NORMAL_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_NORMAL); end; |
Jann1k - Di 26.12.06 00:01
kk danke für die hilfe, sry dass ich mich net früher melde, problem is gelöst
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!