I wrote a tool for my cygwin shell to parse my CVS repository and find all modified files based on the timestamp in \CVD\Entries(.log).
I work with a lot of chained lists and allocate the mem on heap for the items .. and of course free() when not used. :-)
So overall, we are talking about a tool that does a lot of recursive calls (directory parsing) and heap mem allocation.
My problem is the performance of that tool. The very first time I run it, it takes forever to complete. Then the next time it just completes in just a second. I am not sure about the root cause for that.
Maybe the heap is too small and needs to get extended at runtime ? I tries -Wl,--heap='really large number' but no difference.
Maybe it's related to the harddrive ? I see lot of HDD action the first time, the second not more ?
Do you have any ideas to make this faster.