Thread Sort VS Schwartz'sche sort ??? - Benchmark (21 answers)
Opened by Updecrator at 2006-01-03 11:05

steffenw
 2006-01-04 10:27
#61467 #61467
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Arrayzugriff ist normalerweise:
integer = array[index]
integer = Inhalt(Speicheradresse(array) + Strukturlänge_hier(Integer) * index)

nur bei Index 0 kann optimiert werden:
integer = Inhalt(Speciheradresse(array))

Ich habe vor gut 20 Jahren, wo man noch wenig Speicher hatte, optimieren müssen, damit das Projekt überhaupt realisierbar war. Und da hat man einfach reassembliert und sich angeschaut, was letztendlich beim Compilieren herauskommt und so optimiert. Es ist interessant und zum Teil auch heute noch aktuell, weil sich die Algorithmen teilweise nicht geändert haben. Dabei sah man jedoch, daß Arrayzugriffe viel Code produzieren, weil sie eben ausmultipliziert werden müssen. Das Arbeiten mit mehrdimensionalen Arrays ist dann völliger Wahnsinn. Zum Glück ist letztes in Perl gar nicht erst implementiert worden. Zeiger waren damals die Lösung, heute sind es elegante Referenzen. Somit ist heute for (i = 0; $i < ...; ...) immer noch zweite Wahl, wenn man for (@array) nehmen kann.
$SIG{USER} = sub {love 'Perl' or die};

View full thread Sort VS Schwartz'sche sort ??? - Benchmark