Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Heiko
Anmeldungsdatum: 28.07.2008 Beiträge: 101
|
Verfasst am: 30.10.2008, 12:51 Titel: Performance/Geschwindigkeit von FB messen! |
|
|
Ich würde gern ein paar verschiedene Sprachen hinsichtlich ihrer Geschwindigkeit der erstellten Kompilate vergleichen.
Nun, was würdet ihr sagen, wie man mit einfachen Befehlen in FB sowas umzusetzen wäre, um zumindest grob einen Vergleich ziehen zu können.
Kann natürlich einfach von 0-x zählen lassen und zeit messen, aber das wäre, glaube ich nicht wirklich ein Vergleich. |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 30.10.2008, 13:01 Titel: Re: Performance/Geschwindigkeit von FB messen! |
|
|
Heiko hat Folgendes geschrieben: | .
Kann natürlich einfach von 0-x zählen lassen und zeit messen, aber das wäre, glaube ich nicht wirklich ein Vergleich. |
Diesen Vergleich habe ich mal gezogen, indem ich eine Zählschleife für ca. 1 Sekunde laufen lies (damals in Quick-Basic und QBasic auf einem alten Pentium 100MHZ). Das erstaunliche Ergebnis: Exe-Dateien waren bis zu 100mal schneller als der QBasic-Interpreter. Naja, das war eigentlich zu erwarten. Noch interessanter war: Wenn ich in QuickBasic einen QuickRun startet (mit STRG/F5), war die Zählung noch einen Tick schneller als die unabhängige Exe-Datei.
Wenn man die Schnelligkeit von Sprachen vergleicht, muß man allerdings mehrere Kriterien berücksichtigen:
1) es darf kein Multitasking stattfinden. Also nur unter DOS testen.
2) es sollten verschiedene Befehle verglichen werden, da der Maschinencode für den Printin Basic anders aussieht als z. B. fprint in C.
3) U. U. hängt die Performance auch vom verwendeten Compiler ab. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Heiko
Anmeldungsdatum: 28.07.2008 Beiträge: 101
|
Verfasst am: 30.10.2008, 13:27 Titel: |
|
|
naja multitasking nicht zu nutzen kein problem.
Fakt ist aber, wenn wie du sagst, gleiche befehle auf verschiedenen system ungleich schneller oder langsamer sind, dies ja eben einen performancetest ausmacht, oder?
denn man nutzt ja die befehle der jeweiligen sprache....!
hast du nen beispiel um FReebasic mit einem anderen basic zu vergleichen?
nein, kein qb.
simples zählen???!!!??? |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 30.10.2008, 13:43 Titel: |
|
|
Simples zählen in einem definierten Zeitraum kann schon was bringen. Als Zeitgeber mußt Du den Systemtakt abfragen, damit das unabhängig ist. Den Takt kannst Du mit Timer abfragen (zählt im Millisekundentakt, bei QBasic im 1/18-Sek-Takt)
Du baust also eine Standardzeitschleife und einen Zähler. Die Schleife bereicherst Du nur mit einem zusätzlichen Befehl, der überprüft wird. Dann läßt Du das ganze laufen und zählst die Schleifendurchläufe innerhalb der Zeit. (Zu Beginn kannst du die Schleife auch mal leer laufen lassen.
Aber es ergibt sich ja ganz einfach: Man muß zumindest die am häufigsten verwendeten Befehle mit analogen Funktionen aus anderen Sprachen vergleichen, um einigermaßen vernünftige Daten zu bekommen.
Beispiel:
Code: | Dim As Integer Zeit, Zeit2
Dim Counter As Integer = 0
Zeit = Timer
Print "Zeit = "; Zeit
Zeit = Zeit + 5
'***** Zeitschleife*****
Do
Zeit2 = Timer
Counter = Counter + 1 '***** Zähler
'*********************
'Hier ist Platz für den zu überprüfenden Befehl
'*********************
Loop Until Zeit2 > Zeit '+ 1000
'***** Ende der Zeitschleife *****
Print "Zähler = ";Counter
Sleep
|
Andere Vergleiche bringen nur was, wenn Du den Assembler-Code der Sprache entschlüsseln und die Takte pro befehl verrechnen kannst.[/code] _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 30.10.2008, 19:48 Titel: |
|
|
Zitat: | naja multitasking nicht zu nutzen kein problem. |
doch, ist es heutzutage.
wie Elektronix schon gesagt hat: richtiges single-tasking bekommst du nur unter einem DOS-System. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|