[Ecls-list] ECL + ContextL?

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Mon Nov 2 22:35:43 UTC 2009


On Mon, Nov 2, 2009 at 10:45 PM, Alexander Gavrilov
<angavrilov at gmail.com> wrote:
>> The comments say several times that compilation at runtime is very
>> expensive in ECL. How very is 'very'? The idea is that these
>> compilations are usually done only once, for functionality that is
>> used often later on. Is it still not economical to do this?
>
> Every time you call compile or compile-file it writes several
> temporary files, calls gcc and linker, and loads the resulting
> DLL. It's not something you would want to
> do unconditionally for every method.

ECL and GCL and any other C based compiler are going to have this
problem always... Unless, of course, the C compiler itself can be
embedded in the environment itself.

LLVM promises this and it's becoming more widely available now that
Apple has put some effort into it. The only problem is that LLVM
expects a certain representation of code, which ECL does not have yet.

However, I think we are on the right track: my local tree already has
a new version of the lisp-to-C translator that uses a different
internal representation. It is not ready for production, but it
features a simpler code flow graph that could be used both for better
type inference and also, hopefully, to produce LLVM's desired
representation.

But things take time... If only I could take two months off and work
full time on this! :-)

>  It also writes a few lines of text to the output stream
> about all these actions.

Not really. This can be deactivated (read the Hyperspec) and the cost
is close to zero.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list