Hi Chris,
As the batch size gets bigger, the time to complete the batch increases in a non linear mannor. some examples are:
100 batch 2 minutes 11 seconds 1000 batch 33 minutes 22 seconds 3000 batch 3 hours 30 minutes 43 seconds
To make it short - there is big memory leak :(
It looks like we have a problem with garbage collection of Perl. An intersting thing would be to know the impact of the eval calls in bpDoStep. There is the following line in bpDoStep:
my $return = eval "workflow_$function (USER => '$user', WORKFLOW => '$process')";
It would be really intersting for me to know what's happen if we don't execute this part of the code. Chris can you make some performance tests without calling this line? This call makes all the work.
Usually Perl has problems if somebody creates loops of references. This is too complicated for Perl's garbage collection (see man perlobj). Such a constrcution would be:
$a = new OpenCA:XY;
$b = new OpenCA::YZ;
$b->{a} = $a;
$a->{b} = $b;The result is that there is always a reference to these two objects. We can only check the batch functions in lib/bp/ for such loops but first I want to know what's with the rest.
Michael -- ------------------------------------------------------------------- Michael Bell Email: [EMAIL PROTECTED] ZE Computer- und Medienservice Tel.: +49 (0)30-2093 2482 (Computing Centre) Fax: +49 (0)30-2093 2704 Humboldt-University of Berlin Unter den Linden 6 10099 Berlin Email (private): [EMAIL PROTECTED] Germany http://www.openca.org
------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ OpenCA-Devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/openca-devel
