[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