[Ecls-list] Slow bignums

Waldek Hebisch hebisch at math.uni.wroc.pl
Fri Jan 29 03:12:35 UTC 2010


Juan Jose Garcia-Ripoll wrote:
> On Thu, Jan 28, 2010 at 1:09 AM, Waldek Hebisch <hebisch at math.uni.wroc.pl>wrote:
> 
> > If ECL's consing numbers have anything common with reality, then
> > ECL is consing too much.  AFAIK sbcl bignum routines takes a lot
> > of effort to allocate temporaries on stack, so only final results
> > of arithmetic operations are allocated on the heap.
> 
> 
> I think you are attributing too much cleverness to SBCL. A simple
> disassembly of the code shows that SBCL is all the time calling GENERIC-*
> and GENERIC-+ that allocate data in the ordinary heap.

GENERIC-* and GENERIC-+ dispatch to specialized bignum routines
and bignum routines use stack alocation for temporaries.  ECL
reports almost 4000 times larger allocation than sbcl.  A simple
estimate suggests that when all results are stack allocated
consing should be similar to what sbcl reported.  Given that
other implementation give similar amounts I thend to believe
that sbcl consing number is correct.  So the question is if
ECL reports _way_ to large consing number, or maybe ECL
is doing something stupid and allocates too much.

-- 
                              Waldek Hebisch
hebisch at math.uni.wroc.pl 




More information about the ecl-devel mailing list