[Ecls-list] [ANN] ECL 9.7.1

Waldek Hebisch hebisch at math.uni.wroc.pl
Tue Jul 14 15:34:30 UTC 2009


Juan Jose Garcia-Ripoll wrote:
> On Mon, Jul 13, 2009 at 5:51 PM, Gabriel Dos
> Reis<gdr at integrable-solutions.net> wrote:
> >> Actually, I am beginning to
> >> think that the problems in OpenAxion are related to inefficiencies in
> >> the compiler, not on ECL itself.
> >
> > you mean OpenAxiom compiler or ECL compiler?
> 
> The ECL compiler. Things like type comparisons, updating of forms,
> pretty printing, etc, are not handled very efficiently in the compiler
> right now. That is an aspect that I had not investigated before and
> which might be worth the effort.
> 

I think there may be little confusion here.  I did some measurements
for FriCAS.  In short FriCAS build process consist of two main
part: compiling Lisp code (where ECL compiler is involved) and
running compiled Lisp (mostly running Spad compiler to generate
Lisp).  My estimate indicate that in case of ECL more than
80% of FriCAS build time is spent _running_ compiled Lisp
code and less than 20% compiling Lisp.  So increasing ECL
compiler speed has limited effect of FriCAS build time.
OTOH speed of ECL compiled code has much larger effect.
Interstingly, while speed of code which is run during normal
use improved quite significantly, apparently code used during
build runs at similar speed (at some moment there was a small
regression).

While for OpenAxion details differ, the general
pattern should be similar -- I am pretty sure that
OpenAxiom build time is dominated by time to run Spad
compiler.  From point of view of ECL Spad compiler is
just another Lisp program...

BTW: To the moment I was unable to get useful profile
information about ECL compiled Spad compiler (all my
profiling was done using SBCL).  The problem is using
gprof on Linux I only get information about statically
linked code.  But significant part of time is spent
in libecl.  Unfortunalty, when I tried to link libecl
statically it iterfered with ECL (and FriCAS) build
process.  I managed once to get some profiles, but
still to much code was in shared libraries, so the
result was inconclusive.  Given that getting profiled
version of ECL required a lot of manual tweaking
I had no time to repeat the process to get better
data...

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




More information about the ecl-devel mailing list