如何遍历c扩展中的所有python对象?

时间:2015-09-24 08:14:14

标签: python python-c-api python-internals

我正在使用python memory profiler,我用以下方法收集python对象的大小:

sum(map(sys.getsizeof, gc.get_objects()))

这是代码中最慢的部分 - 尤其是gc.get_objects - 因此我决定加快速度并将其重写为c扩展。问题是python c API无法访问gc.get_objects使用的gc模块内部数据。

是否可以使用c API迭代所有对象,而无需调用昂贵的gc.get_objects

0 个答案:

没有答案