On Mon, May 24, 2010 at 5:15 PM, Gabriel Dos Reis <gdr@integrable-solutions.net> wrote:
this begs a question I have had a for a while:  Is there anything that
can be done
to improve ECL's performance on programs that cons a lot? (e.g. OpenAxiom)

Do you mean improving ECL or improving your program?

Regarding the first topic, we should understand better how to optimize the garbage collector. I believe this has a lot of potential for optimization, in particular with the use of thread-local or inlined allocation, plus improvements in the mark phase to make it more efficient (packing the pointers in the C structures? simpler mark phases?)

Regarding the second, I do not know. I realize that ECL's library deserves some study for many functions are sub-optimal in terms of consing, asymptotic efficiency, etc. I mean that even if your program conses a lot, it might be the case that the "consing" is not the performance sink per se, but rather inefficient implementations or algorithms.


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)