Testprogramm zur prozessorspezifischen X86-Codeoptimierung

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Testprogramm zur prozessorspezifischen X86-Codeoptimieru

Beitrag von mschnell »

Horst_h hat geschrieben:Da der EpikTimer unter Windows sehr hoch auflöst, muss man nicht soviele Runden drehen.
Hmm. Auch ganz kurze Code-Passagen können jederzeit vom Betriebssystem beliebig lange aufgehalten werden.
Da nützt eine hoch auflösende Zeit-Messung nichts, sondern nur die Messung sehr oft wiederholen und mitteln, so dass sich die Betriebssystem-Einflüsse rausmitteln.

Durch Berechnung der Statistischen Varianz / Signifikanz kann man dann beurteilen, ob man (mit einer vorgebbaren Wahrscheinlichkeit) oft genug gemessen hat.

Damit man sowohl eine genügend genau Zeitmessung als auch eine Varianz-Berechnung machen kann, muss man die Zeit für eine gewisse Anzahl Aufrufe messen und das mehrfach machen und darüber dann eine Statistik berechnen.

-Michael

ruewa
Beiträge: 153
Registriert: Sa 12. Apr 2014, 14:43

Re: Testprogramm zur prozessorspezifischen X86-Codeoptimieru

Beitrag von ruewa »

Hallo!

Erstmal herzlichen Dank an alle, die ihre Ergebnisse beigesteuert haben!

Hier wie versprochen die überarbeitete Fassung von AlignTest. Keine Angst: Der Test selbst hat sich nicht verändert, die bisherigen Ergebnislisten bleiben vollgültig. Die Änderung im Programm entlastet die geplagten Windows-User, die bisher mit Laufzeiten von einer halben Stunde plusminus rechnen mußten: Es gibt nun ein zusätzliches SpinEdit für die maximale Anzahl eingelesener Strings, voreingestellt sind 1.000.000 Strings (AlignTest hält sich nur ungefähr an diese Zahl, die gerade ausgelesene Datei wird noch zu Ende bearbeitet, aber keine weiteren Dateien mehr geladen). Damit sind die Bedingungen für Windows- wie für Linux-User nun etwa gleich und die Durchlaufzeiten liegen damit für alle bei den ursprünglich anvisierten 12 Minuten plusminus. Abstriche an der Qualität der Daten sind dadurch nicht zu befürchten.
AlignTest_rev02.zip
(589.24 KiB) 76-mal heruntergeladen
Die meiste Arbeit steckt in der überarbeiteten Dokumentation, diese befindet sich wie auch die Beispiel-Ergebnislisten nun in einem eigenen Unterordner "Documentation". Damit ist dann auch die Verwechselungsgefahr bei den Ergebnisfiles gebannt.

Manchmal raufe ich mir ja selbst die Haare, wenn ich meine eigenen Texte sehe: Wer soll denn diese ganze Bleiwüste lesen... Na gut, es ist halt auch ein kompliziertes Thema. Aber ich verstehe schon, daß manche vor solch ausführlichen Texten (wie den ersten beiden Postings) zurückschrecken. Darum habe ich noch eine Kurzfassung geschrieben, die knapp und bündig erklärt, worum es bei diesem Test geht:
ReadMe.pdf
(57.75 KiB) 71-mal heruntergeladen
Wie geht es weiter? Ich hoffe natürlich noch auf viele weitere Ergebnislisten! Bisher sind es 25, 100 wären schön! Das, was bisher zusammenkam, sieht aber auf jeden Fall schon sehr interessant aus. Derzeit arbeite ich an der Auswertungssoftware und wie Ihr Euch sicher vorstellen könnt, ist das auch nochmal ein ordentlicher Batzen Arbeit. Gesteht mir also bitte noch ein paar Wochen Zeit zu (man hat ja auch noch anderes zu tun). Solange lassen wir den Test einfach weiterlaufen.

Was danach kommt, Michael, verdränge ich im Moment. Das hängt einfach davon ab, was die Auswertung ergibt. Ich selbst bin jedenfalls gespannt wie ein Flitzebogen...

Gruß Rüdiger
Zuletzt geändert von ruewa am Do 19. Mär 2015, 17:33, insgesamt 1-mal geändert.

BeniBela
Beiträge: 321
Registriert: Sa 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
CPU-Target: 64 Bit

Re: Testprogramm zur prozessorspezifischen X86-Codeoptimieru

Beitrag von BeniBela »

ruewa hat geschrieben:
Manchmal raufe ich mir ja selbst die Haare, wenn ich meine eigenen Texte sehe: Wer soll denn diese ganze Bleiwüste lesen...
Nun, ich habe es schon lange aufgegeben und überflieg sie nur noch

ruewa
Beiträge: 153
Registriert: Sa 12. Apr 2014, 14:43

Re: Testprogramm zur prozessorspezifischen X86-Codeoptimieru

Beitrag von ruewa »

BeniBela hat geschrieben:Nun, ich habe es schon lange aufgegeben und überflieg sie nur noch
Genau dafür ist die ReadMe gedacht. 8)

Gruß Rüdiger

Horst_h
Beiträge: 74
Registriert: Mi 20. Mär 2013, 08:57

Re: Testprogramm zur prozessorspezifischen X86-Codeoptimieru

Beitrag von Horst_h »

Hallo,

jüst einen AMD 5350 -Kabini eingebaut und mit dem neuen Test, der nur 1 Mio Zeilen einliest, getestet mit dem neuen Lazarus 1.4.
Der schnellste Abschnitt, sonst so um die 70%:

Code: Alles auswählen

Function CharPos_Asm3b_LoopStart_32          Verified   1.506 s  ( 63.3 %) 
Gruß Horst
Dateianhänge
AlignTestResult_(AMD_Athlon(tm)_5350_APU_with_Radeon(tm)_R3_____).txt
(89.31 KiB) 78-mal heruntergeladen

Antworten