[pypy-dev] cpyext reference counting and other gc's

Amaury Forgeot d'Arc amauryfa at gmail.com
Mon May 2 20:44:12 CEST 2011


Hi,

2011/5/2 Dima Tisnek <dimaqq at gmail.com>:
> I'd really like to know what are reasons some c extension do not work
> with cpyext right now.

I can see three kinds of reasons:

- Reference count mistakes, that normally don't show up in CPython
(but many c extensions do crash when you delete them from sys.modules,
then reimport them; cpyext just detect the failure the first time :-)

- unsupported functions, either because we never encountered them,
or because they are really hard to support in pypy

- extensions that play too much with CPython inter
nals: numpy, Cython
are in this case

> can anyone weigh in on dict/custom data structure lookup, e.g. splay
> tree vs pointer-chasing linked shadow objects?
> is there a better data structure than a has table (void* -> ssize_t)

Probably! The hash table is used because it's readily available in
RPython. But if you care to provide a RPython implementation of
the associative container, I'd be happy to test it.

-- 
Amaury Forgeot d'Arc



More information about the pypy-dev mailing list