how can I speed up bromberg?



On Nov. 22, 2012, Raymond Toy wrote:
---------------------------------------------
>What kind of machine are you running this on?
>
>I finally got around to building maxima with gcl on the only machine I
>have access to with a working gcl.  On that machine (an aging
>Ultrasparc, 750 MHz), I get this with your example:
>
>bromberg((1/(1+sqrt(x)),x,1/2,1);
>Evaluation took 0.7300 seconds (0.7600 elapsed)
>(%o15)      2.6909206998615507341183361093738044447610421970518b-1
>
>So, that's less than one second on this ancient 750 MHz sparc box.
>
>Since you take over 13 minutes, either your machine is a 1 MHz box,
>or there's something weird with your version of gcl and/or maxima.
----------------------------------------------------
On Nov. 22, 2012, I wrote, based on my office
computer:

hardware, operating system:

hardware: AMD Athlon 64 Processor
20.01 Ghz, 1.93 GB Ram
Microsoft XP, 2002, Service Pack 3

Maxima 5.28.0-2 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)
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.
                                  2012-11-22


(%i1) build_info();
(%o1) ?%build_info("5.28.0-2","2012-08-27 23:16:48","i686-pc-mingw32",
                   "GNU Common Lisp (GCL)","GCL 2.6.8")
(%i2) (display2d:true,build_info());
(%o2) 
Maxima version: "5.28.0-2"
Maxima build date: "2012-08-27 23:16:48"
Host type: "i686-pc-mingw32"
Lisp implementation type: "GNU Common Lisp (GCL)"
Lisp implementation version: "GCL 2.6.8"
---------------------------------------------


The above hardware report was incorrect.

NOT  20.01 Ghz,  INSTEAD: 2.01 Ghz

Today, Nov. 23, I ran the same test on my wife's
office computer, which is a HP Pavilion,
AMD Athlon 64 Processor, 990 Mhz, 
1.43 GB Ram, Win XP, Serv. Pack 3,

I had to use ctrl-g to interrupt the calculation
after about 8 min.
-----------------------------
Maxima 5.28.0-2 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)
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) display2d:false$
(%i2) load("c:/work2/bromberg.lisp");
(%o2) "c:/work2/bromberg.lisp"
(%i3) [brombergtol,brombergabs,brombergit,brombergmin];
(%o3) [1.0E-4,0.0,11,0]
(%i4) (brombergtol:0.0b0,brombergit:100)$
(%i5) brombergabs:1.0b-10;
(%o5) 1.0b-10
(%i6) g(x):= 1/(1+sqrt(x))$
(%i7) bromberg(g,1/2,1);
(%o7) 2.6909206998617b-1
(%i8) time(%);
(%o8) [0.1]
(%i9) brombergabs:1.0b-20;
(%o9) 1.0b-20
(%i10) bval : bromberg(g,1/2,1);
Maxima encountered a Lisp error:

 Console interrupt.
(stopped after 8 min)
-----------------------------------

Ted