[quote="kcx"]
Zitat von
Union:
Bei mir braucht es atm für 1.000.000 Strings 1800 ms.
Das ist doch schon mal ganz nett. Eine Sache die sofort auffällt (und den Code hast Du nicht selbst geschrieben, sondern wie 1000 andere arme von irgendwoher kopiert), ist das
div 2. Und das ist bis zu doppelt so langsam wie
shr 1:
Code:
// Div 2
mov edx, eax
sar edx,1
jns +$03
adc edx,$00
Code:
// Shr 1
mov ecx,eax
shr ecx,1
Das hat jetzt zwar nix mit den Strings zu tun, aber wird bei Dir immerhin in der Rekursion oft aufgerufen. Und wo wir bei dieser sind, zwei Rekursionen sind bei dem Algorhytmus überflüssig, es reicht der erste, den zweiten stellt man durch ein verschachteltes repeat dar, das ist gesünder für den Stack!.