> 
>     It could be garbage collection, but it shouldn't take 2 minutes to
>     free() 700MBs of data. Could be that your code is written in such 
>     a way that it is having to back out of lots of subroutines and
>     free'ing things as it goes? Such as with recursion? 

no recursion, and only a few levels deep. the pause happens at the
topmost level on the exit statement.

> 
>     Is this 700MBs in one data segment ( i.e. a single hash, array, 
>     etc ) or thousands of little ones?  
> 
>     I could imagine a situation where if you had thousands of little
>     variables which are local to some subroutines that are traversed
>     recursively it might take Perl that long to back out all 
> of the way 
>     free()'ing as it goes. 

most of the memory is in a few large hashes [3 hashes of approx 200M
each]. Each hash element in these large hashes is itself a hash with
about 70 name/value pairs. The data on each smaller hash is about 4K
data. The smaller hashes all have an identical set of keys.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to