OK I agree the docs suck.
Mark will correct me if I'm wrong but here goes -
MemUsage should agree with the system not MemAlloced
BlitzMax never frees any memory, whenever an object is freed the memory goes to an internal recycling mechanism which is a lot faster than going to system when a similarly sized object has to be allocated in future.
This means that at some point your program was using 106 meg.
From experiencve file parsing can be an expensive thing, if you are constructing Strings in a loop and that loop clocks more than a few 1000 iterations it is well advised to add a flushmem.
Currently BlitzMax grows it's internal heap in a really really slow way so if you are abusing the heap a flushmem will actually improve performance as recycling memory is currently far faster than allocating system memory.
I'm of course not ruling out problems in the flushmem code, see here for example.
Mark will correct me if I'm wrong but here goes -
MemUsage should agree with the system not MemAlloced
BlitzMax never frees any memory, whenever an object is freed the memory goes to an internal recycling mechanism which is a lot faster than going to system when a similarly sized object has to be allocated in future.
This means that at some point your program was using 106 meg.
From experiencve file parsing can be an expensive thing, if you are constructing Strings in a loop and that loop clocks more than a few 1000 iterations it is well advised to add a flushmem.
Currently BlitzMax grows it's internal heap in a really really slow way so if you are abusing the heap a flushmem will actually improve performance as recycling memory is currently far faster than allocating system memory.
I'm of course not ruling out problems in the flushmem code, see here for example.