Hi Rick.
>Interesting. Are you doing this because you're running into a real perf issues with strings in FoxPro? For most tasks FoxPro strings actually perform very well so I'm wondering for which use cases you foresee these functions.
Constructing large string with many parts, or being able to divide up a large string into many parts.
>The biggest issues I see with FoxPro string performance is parsing character by character as is required for high performance parsers (like a JSON parser). When I built a JSON parser originally in FoxPro code it was incredibly slow because of the `SUB()` walking the string character by character. For even moderate size documents it was 100's of times slower than the comparable .NET code I ended up with (and eventually replaced with a generic parser).
>
>Unfortunately I don' t think there's a workaround for that - the overhead isn't the speed of Sub() but the mere function call that makes that so slow and an API call wouldn't make that any better I think.
Faststring.dll won't store its strings in VFP. You'll have to use FTRANSFORM(), FLEFT(), FRIGHT(), or FSUB() to return a string usable in VFP.
Inserts and deletes on any length strings will be roughly the same.
>+++ Rick ---
>
>>I'm getting ready to code this. If anyone has any comments or notes before I begin, please post them.
>>
>>
>>FNEW()
>>FDELETE()
>>FZAP()
>>
>>* File I/O
>>FSTRTOFILE()
>>FFILETOSTR()
>>
>>* Multiple fast strings
>>FWELD()
>>FCUT()
>>
>>* Obtain information
>>FLEN()
>>FSTATS()
>>
>>* Data manipulation:
>>FSTUFF()
>>
>>* Data extract functions:
>>FTRANSFORM()
>>FLEFT()
>>FRIGHT()
>>FSUBSTR()
>>
>>* Piece manipulation
>>FPIECECOUNT()
>>FPIECEMAP()
>>