Einzelnen Beitrag anzeigen

Horst_

Registriert seit: 22. Jul 2004
Ort: Münster Osnabrück
116 Beiträge
 
#44

AW: Hilfe: Schnellste möglichkeit ein 4-Byte Array zu Sortieren

  Alt 12. Feb 2012, 10:37
Hallo,

@dano:
den Quelltext in seiner ganzen "Schönheit" kann man auch anhängen
Ich habe es auf Lazarus umgemünzt.
Dummy gibt als Funktionswert einfach das richtige Ergebnis zurück, um die Zeit des reinen aufrufens rauszurechnen.
Ich habe die Unit mal angehängt, sollte auch mit Delphi funktionieren, damit Du einen Vergleich starten kannst.
Delphi-Quellcode:
MaxRound 1000000000

Tests mit Dummy
 Anzahl: 1000000000 Ticks: 13437923 ms: 4311,708
Tests mit Selectionsort3Down
 Anzahl: 1000000000 Ticks: 85371524 ms: 27392,338
Tests mit NetworkSort2
 Anzahl: 1000000000 Ticks: 79294972 ms: 25442,618
Tests mit SelectionsortASMDown
 Anzahl: 1000000000 Ticks: 45523858 ms: 14606,808
Tests mit SelectionsortASMDown2
 Anzahl: 1000000000 Ticks: 51604629 ms: 16557,888
Tests mit SelectionsortASMDown2Horst
 Anzahl: 1000000000 Ticks: 44724554 ms: 14350,338
Tests mit SelectionsortASMDown3Horst
 Anzahl: 1000000000 Ticks: 18670531 ms: 5990,638
Wie Du siehst ist meine Variante3 bei mir erheblich schneller, das heisst aber nicht, dass bei Dir andere Varianten nicht noch schneller sind/sein können.

Gruß Horst

P.S.
Temp.Card := Vaules[Count mod 24]; wäre mir zu langsam und zu regelmässig.
Ich habe mal die Testliste/Values auf 24 beschränkt.
In Wahrheit: Weil dann Tests mit SelectionsortASMDown gewinnt

Delphi-Quellcode:
MaxRound 99999984 ( 1e8 DIV 24 )

Tests mit Dummy
 Anzahl: 99999984 Ticks: 1146723 ms: 367,948.3
Tests mit Selectionsort3Down
 Anzahl: 99999984 Ticks: 5331997 ms: 1710,838.3
Tests mit NetworkSort2
 Anzahl: 99999984 Ticks: 5032214 ms: 1614,648.3
Tests mit SelectionsortASMDown
 Anzahl: 99999984 Ticks: 1316565 ms: 422,438.3
Tests mit SelectionsortASMDown2
 Anzahl: 99999984 Ticks: 2397344 ms: 769,218.3
Tests mit SelectionsortASMDown2Horst
 Anzahl: 99999984 Ticks: 2410761 ms: 773,528.3
Tests mit SelectionsortASMDown3Horst
 Anzahl: 99999984 Ticks: 1563923 ms: 501,808.3
Angehängte Dateien
Dateityp: zip unit1.zip (2,4 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat