[fpc-pascal] Question on how to avoid memory trouble using FindFirst(), FindNext() and FindClose()
Marco van de Voort
marcov at stack.nl
Fri Feb 2 22:23:45 CET 2007
> Can anyone recommend a method to search a whole drive, of arbitrary
> size, without running out of memory.
I don't know seen SysTools, but I worked analysing logfiles for a year. All
containertypes (TList TObjectList and TstringList included) that have a
single array as internal datastructure become prone to fragmentation or
slowdowns when the number of elements get bigger.
A rule of thumb border is 50k-500k elements.
So a simple plan would be:
- analyse what functionality is really used of TStringlist, since there is a
lot of functionality there.
- Take a more scalable containertype and graft it into SysTools.
- Avoid TStringList in own code, or at least mark such code in documentation
and memory as scalability risk :-)
More information about the fpc-pascal