I've seen several queries about 64 bit equivalents for the fast string routines in Win32. And I needed them myself as well.
I have published (assembly based) functions that mimic system.Pos and sysUtils.StringReplace for 32 & 64 bit compiling (both String and AnsiString). Extra feature: searching can be case sensitive or case insensitive.
Timing for string search (1k substrings in 1M string, microsec, see documentation; NextStrPos is new):
mode
32 bit
64 bit
search
System.pos
NextStrPos
System.pos
NextStrPos
String
550
500
730
400
ANSIstring
530
460
3.500
360
Timing for String replace (1k substrings in 1M string, microsec, see documentation; StrReplace is new):
mode
32 bit
64 bit
replace
SysUtils.
StringReplace
StrReplace
SysUtils.
StringReplace
StrReplace
String
6.500
1.050
6.000
1.050
ANSIstring
7.400
900
7.000
850
Files and documentation on https://sourceforge.net/projects/delphi-fast-pos-stringreplace/