[vox-tech] Must one free() in C?
vox-tech@lists.lugod.org
vox-tech@lists.lugod.org
Thu, 9 May 2002 03:56:41 -0400
On Wed, May 08, 2002 at 09:44:09PM -0700, Micah Cowan wrote:
> I do indeed keep track of all allocated memory. Gives me that
> feeling of "job well done".
This reminds me of a perl script I wrote that snarfed in a whole
bunch of log data and built this fairly large hash with it (about
a Gig of memory). The script's data output was generated within
about 30 seconds of starting, but for some reason it took about 5 more
minutes to exit. There was no swapping, it was just CPU bound.
It turned out that perl was trying to delete the huge hash, record
by record, so I changed the last line of the program from
exit 0;
to
kill 9 $PID;
The program still produced the correct output, just 5 minutes faster (*).
So I guess what I'm saying is dynamic memory is bad... err no ;)...
don't waste _too much_ effort keeping track of memory if it's a
bottleneck.
Later,
Mike
*: There might have been a better solution.