You can try memory management yourself and see that the memory allocated is not wiped until the script is finished.
--------------------8<-------------------- #!/usr/bin/perl &bla(); print "Done"; sub bla { my $var = ""; for( 1 .. 10_000_000 ) { $var .= "xxx"; } my $bla = <STDIN>; undef $var; } --------------------8<-------------------- You can modify this example to use threads and see what's happeing to your memory. Tom Foo Ji-Haw wrote: > Hello Carl, > >> >> Nope that's right, so you load up one image. The perl process >> allocates itself 100MB of memory for it from the OS. Then doesn't >> release it back to the OS once it's finished with. >> >> The perl process will re-use this memory, so if you process another >> image you don't grab another 100MB, it's just not available at the OS >> level or for other processes. >> >> This isn't completely bad as long as your OS has good memory >> management. The unused memory in the perl process will just be swapped >> out to disk and left there until that process uses it again or exits. > > Can I confirm that in the Windows implementation, if a thread allocates > requires 100MB of memory and then releases it, the next thread can reuse > that memory? > > Thanks. > >
signature.asc
Description: OpenPGP digital signature