Einzelnen Beitrag anzeigen

EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#18

AW: Leerzeichen in String einfügen

  Alt 27. Jan 2016, 13:34
@Sir Rufo

fair und kannst was wegstecken!

Vorab, in !Mavarik!'s und deinen Versionen habe ich kleine compilierungs Änderungen gemacht.
Gibt es da Einwände ... sofort losbrüllen! Mein altes XE hat's nicht fressen wollen.

geht los habe den Shift auf 12 erhöht (siehe Test):

Zitat:
Benchmarking(x12 x2000000:
Autor: Mavarik Function: MavarikQuadUnderScoreInjector TickCount: 37719

Benchmarking(x12 x2000000:
Autor: EgonHugeist Function: leerzeichen TickCount: 15140

Benchmarking(x12 x2000000:
Autor: Sir Rufo Function: StrInsertEveryNthPos TickCount: 324188

Benchmarking(x12 x2000000:
Autor: EgonHugeist Function: EH_QuadUnderScoreInjectorBy4 TickCount: 15047

Benchmarking(x12 x2000000:
Autor: EgonHugeist Function: EH_QuadUnderScoreInjectorBy8 TickCount: 9437
Meine Funktionen würden unter 64Bit vielleicht noch besser laufen, da der UInt64 move da performanter ist als der 2x4Byte move, den die 32Bit IDE reinfummelt. Meine letzte Version läuft allen davon, desto länger der String wird. Da der TE aber nur von 128 Zeichen ausgeht tut es Version 1 und 2 genau sogut, wie Mavarik's version.

Eine Validierung fehlt, da dies die "reine" Geschwindigkeit verfälscht.

@Mav
die Funktionen mit den inserts hab ich gleich weggelassen. Darfst sie aber gerne hinzufügen, wenn die Autoren nix dagegen haben.
Angehängte Dateien
Dateityp: pas QuadUnderScoreInjections.pas (6,2 KB, 2x aufgerufen)

Geändert von EgonHugeist (27. Jan 2016 um 13:37 Uhr)
  Mit Zitat antworten Zitat