Vergleich: Optimierte und nicht optimierte strlen-Funktion



  • Moin, Moin...

    Ausgangspunkt für dieses Thema ist folgende kleine Diskussion(weiter unten schauen):
    Inline Assembler unter VC++

    Ich habe daraufhin die beiden strlen-Versionen miteinander verglichen. Dazu habe ich in einem C-Programm eine Zeichenkette mit einer Länge von 1 MByte erzeugt und die beiden strlen-Varianten in einer Schleife darauf losgelassen.

    Wiederholungen     unoptimierte Version     optimierte Version
     10                        20 ms                    10 ms
     100                      240 ms                    80 ms
     1000                    2393 ms                   771 ms
     10000                  23687 ms                  7695 ms
    

    Die unoptimierte Version liest Byte für Byte des Strings ein und vergleicht mit 0. Es wird ein Zähler inkrementiert.
    Die optimierte Version achtet auf die Ausrichtung auf DWORD-Grenze und testet immer 4 Bytes gleichzeitig.

    Ciao...

    [ Dieser Beitrag wurde am 02.07.2003 um 09:10 Uhr von Kal El editiert. ]



  • is ja echt der hammer! ich hab die andere diskussion noch gar net gesehen, bin jetzt erst drauf aufmerksam geworden. wer schreibt bitte schön so einen wahnsinnscode??? da muss man doch echt zu viel zeit haben 🙂 ich bevorzuge weiterhin die einfache variante...

    cu todo



  • @todo

    ich bevorzuge weiterhin die einfache variante...

    Dann bist du einer der Leute, die sich ein Auto mit 'ner '25' hinten drauf zulegen.



  • ist die optimierte version in der LIBC von visual c++ enthalten???



  • ja


Anmelden zum Antworten