On 15 February 2011 01:10, Antonio Cuni <anto.cuni@gmail.com> wrote:
On 15/02/11 03:41, Dima Tisnek wrote:
On a related note, how hard is it to "freeze" the translator/compiler state of a given pypy version just before it begins to read extension modules and distribute that, it would speed up module development a lot. It would be a quick equivalent of distributing headers for a C library.
this is hard, because the compilation of the modules is intermixed with the compilation of the rest of the interpreter for each phase: we have (roughly) something like:
- annotation of the interpreter - annotation of the modules - rtyping of the interpreter - rtyping of the modules - etc. etc.
ciao, Anto
Yeah I figured as much, I was wondering if it could be changed like this: - annotation of the interpreter, save state (1) - rtyping of the interpreter, shouldn't depend on modules here, save state (2) - etc. - annotation of the modules, using state from 1 - rtyping of the modules, using state from 1,2 - etc. I assume here that modules don't introduce dependencies into the iterpreter. I guess in the long run this ought to be the case, right? If this is possible, it would be a useful quick hack to separate module build from main build. If it's still very hard, then some else is in order. I'd love to play with this myself, but I don't have enough ram for a full build ;-( d.