AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Hilfe: Schnellste möglichkeit ein 4-Byte Array zu Sortieren

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

Ein Thema von Dano · begonnen am 4. Feb 2012 · letzter Beitrag vom 18. Feb 2012
Antwort Antwort
Horst_

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

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

  Alt 12. Feb 2012, 09: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
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.410 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 12. Feb 2012, 10:03
joar, MOD gefällt mir auch nicht, aber 24 ist soein blöder Wert

Aber da du ja eh die Aufrufe rausrechnen wolltest, isses doch egal.

Nur was hast du gegen regelmäßig?

Ob man nun das 24-stel mit dem ersten Wert uws. machen würde, oder die 24 Werte immer hintereinander oder alles unregelmäig durcheinander (könntest ja via Random jeweils einen Wert reisholen), aber so, daß alle Wert gleichmäßig oft vorkommen ... ist doch egal.
Hauptsache es kommen alle Werte vor und jeder bekommt die selben Testdaten.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (12. Feb 2012 um 10:25 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz