Hallo,
Ja, die Sache ist schon lange durch Furtbichler gelöst.
Jetzt geht es doch nur noch um etwas Fantasie und Ehrgeiz
Aber es ging doch dano darum zu wissen, warum die
Asm Varianten so unterschiedlich schnell bei zufälligen Daten sind.
Zumal auf dano's Core2 ist der Unterschied bei zufälligen Daten recht groß
1e8 Aufrufe:
2236,67 (Networksort2) zu 1351,40 (
ASM Version 3 ), ->
asm wesentlich schneller
bei einem konstanten Wert Daten war es ja
DWord(1 shl 31)-1 = MaxInt Aufrufe
25550 (Networksort2) zu 27085 (
ASM Version 3 ).
asm etwas langsamer
Ich weiß jetzt nicht, wo ich Speicherlöcher erzeuge, wo ich doch keinen Speicher in den
ASM Routinen anfordere.
Erstelle doch auch eine Konsolen-Variante, warum soll ich jetzt irgendwelche Buttons auf einem Formular erzeugen, die dann nur in Lazarus kompilieren.
Es geht doch nur um den Algorithmus und dessen Umsetzung.
Das ist kompakt, auch als EXE und wesentlich portabler.
Gruß Horst
P.S.:
Hast Du meine Variante im Post zuvor ans laufen bringen können und wie waren dann Deine Erbegnisse?