Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.052 Beiträge
 
Delphi 12 Athens
 
#100

AW: Anzahl eines Zeichens im String ermitteln

  Alt 13. Jul 2018, 18:50
Ist wirklich interessant! Sei so fair und füge meine letzte version hinzu, bitte.
Einmal für Win32:
Zitat:
00000 Calibrate
03567 1234588 miep
05984 Ydobon
02945 marabu
03678 Missionar
03604 alzaimar
03013 Uwe Raabe StringCountChar
02998 Uwe Raabe StringCountCharFor
02687 KodeZwerg CountCharInString
07023 KodeZwerg CharInStringA
04072 Neutral General CharCountAsm
02814 Uwe Raabe CharCount
03057 Egon Hugeist CharCount_1
03751 Egon Hugeist CharCount_2
02899 Egon Hugeist CharCount_Double_Sided_3
02958 Egon Hugeist CharCount_Double_Sided_4
03822 Delphi CountChar
und nochmal für Win64:
Zitat:
00000 Calibrate
03777 1234588 miep
07545 Ydobon
03719 marabu
04292 Missionar
03759 alzaimar
08473 Uwe Raabe StringCountChar
03763 Uwe Raabe StringCountCharFor
02921 KodeZwerg CountCharInString
07238 KodeZwerg CharInStringA
Neutral General CharCountAsm - Target missed: 0 <> 7982
00000 Neutral General CharCountAsm
02201 Uwe Raabe CharCount
03022 Egon Hugeist CharCount_1
03731 Egon Hugeist CharCount_2
02952 Egon Hugeist CharCount_Double_Sided_3
03088 Egon Hugeist CharCount_Double_Sided_4
03780 Delphi CountChar
Macht XE10.2-Starter(32-Bit) wat anders? Ich glaube es nicht..
Nein, das glaube ich auch nicht. Der Compiler sollte derselbe sein.

Darf man fragen auf was für einer CPU/OS-Version du da reitest?
i7-4790 3.6 GHz (auch schon etwas in die Jahre gekommen), 32GB RAM, Win10 x64 1709.

Bei dem code, wie geschrieben denk ich nicht mal mehr nach -> thank's 4the lesson!
Ich würde das jetzt nicht überbewerten. Viel hängt da offenbar von der Tagesform des Compilers ab und bis auf wenige Ausreißer ist das Feld doch recht dicht beisammen.

Für mich habe ich die Erkenntnis mitgenommen, daß ich mit der eingebauten Funktion im StringHelper am besten zurecht komme. Die ist bei akzeptabler Performance überall und für alle Plattformen verfügbar, ohne daß ich jedesmal eine Utility-Unit einbinden muss (und irgendwie im VCS verwalten muss). Da zählen andere Kriterien mehr als ein nur marginaler Performancevorteil.

Anbei noch der letzte Softwarestand.
Angehängte Dateien
Dateityp: zip CountCharBenchmark.zip (7,6 KB, 12x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat