[Cython] Refactor or surgery on global constants?
Stefan Behnel
stefan_ml at behnel.de
Fri Aug 1 10:22:29 CEST 2008
Hi,
Dag Sverre Seljebotn wrote:
> In making it possible to have runnable code in pxds, I need to make a
> choice. The problem is that interned strings, objects etc. live in
> seperate scopes and you get double copies, basically now I get the
> following code twice in my c-file:
>
> static char __pyx_k___getbuffer__[] = "__getbuffer__";
> static PyObject *__pyx_kp___getbuffer__;
>
> which gcc isn't too thrilled about.
> [...]
> 2) Move these things from the scopes to code.global (a global context of
> the CCodeWriter). This fits nicely with utility_code going over as well.
> This means that for now each scope simply pipe their things into code
> where they are merged, while in time then e.g. StringNode could intern a
> string during code generation rather than bothering with it during
> analysis. (I think this is a viable way forward, but may take an hour or
> three longer for me to do.)
Since I previously worked a bit on the string interning code, I think it would
really benefit from such a change. Please go ahead.
Stefan
More information about the Cython-dev
mailing list