Nils Bruin <nbruin at cecm.sfu.ca> writes:
> Dear maxima developers,
>
> This was observed with Maxima 5.23.2 on ECL 11.1.1 on 64bit linux:
>
> The following code shows a progressive slowdown:
>
> assume(y>1);
> while true do block([t,I,j],
> t: absolute_real_time(),
> for j: 1 step 1 thru 100 do I: integrate(log(x^2+y^2),x,0,1),
> print(absolute_real_time()-t));
>
> Typical output is something like:
>
> 13
> 17
> 24
> 30
It seems to also happen on SBCL:
Maxima 5.23post http://maxima.sourceforge.net
using Lisp SBCL 1.0.46.0.debian
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) assume(y>1);
(%o1) [y > 1]
(%i2) while true do block([t,I,j],
t: absolute_real_time(),
for j: 1 step 1 thru 100 do I: integrate(log(x^2+y^2),x,0,1),
print(absolute_real_time()-t));
9
11
13
14
16
18
22
24
25
(this is on a not-very-fast laptop. If you're worried about the speed of
some of your calculations, it looks like a short-term cheat might be to
switch lisps!)
Running a garbage collection didn't seem to make much difference, so I
presume it's not exactly a memory *leak*, but maybe we're storing some
state in the integrator we don't need. Hmm.
(%i3) :lisp (sb-ext:gc :full t)
NIL
(%i3) while true do block([t,I,j],
t: absolute_real_time(),
for j: 1 step 1 thru 100 do I: integrate(log(x^2+y^2),x,0,1),
print(absolute_real_time()-t));
26
29
Rupert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: not available
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20110302/0ed94ab8/attachment-0001.pgp>