> > 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]