Kleine Anregungen:
Zitat:
Funktionen von KodeZwerg
CountCharInString, CharInStringA scheitern, wenn #0 im String sind und knallen wenn ein #0 gesucht wird. letzteres sollte mindistens abgefangen und ersteres dokumentiert werden
Zitat:
Funktion AH_CharCountAsm von Andreas aka AHUser aka jbg
ich meine das Result wird nicht initialisiert, wenn der String lehr ist
Zitat:
Aufruf Funktion CharCountAssembler
für CharCountAsm von Neutral General knallte mit {$R+), wenn der String lehr ist. Die function CharCountAsm selber zählt jedoch immer +1 wenn AStr = nil
Zitat:
function IFCount von alzaimar und miep
ist nicht NEXTGEN safe -> falscher Index vom String
Des weiteren muß ich KodeZwerg, wegen der Bemerkung über die Lösung von Ydobon recht geben, zu viele theoretische MemAllocs, welche nicht vergleichbar wären, wenn ... wird den der Code wirklich zu 100%, wie geschrieben, unter XE10.2 ausgeführt??? Weiß der Teufel, wie das zu geht.
im Test selber sollte der gesuchte Char, sowohl die Größe als auch Inhalt des Strings wechseln um alle Ungereimtheiten auszuschließen.
Ansonsten folgende Aufgabe in den Raum gestellt:
Ich bekomme die Aufgabe die Anzahl eines Buchstaben in einem Buch zu finden. Ich soll sie von 1 bis 10000 wiederholen. Buchstabe und Buch wechseln nicht (lt. Uwes Test). Angenommen ihr währed unfehlbar und das Ergebnis steht nach Durchlauf 1 fest ... Wie oft würdet ihr den Job tatsächlich machen?
Die damit verbundene Hypothese: Könnte der Compiler soweit optimiert wurden sein, solch ein Scenario zu erkennen?
Mir kommt Uwes Test a bizzl so vor, als messen wir nur den einmaligen Aufruf-Stack..
Edit:
@@@@jbg
Einfach der Hammer !!! Aber schau mal ob dein Result initialisiert ist, wenn nix zu tun ist!