[Python-Dev] C API for gc.enable() and gc.disable()

Amaury Forgeot d'Arc amauryfa at gmail.com
Fri Jun 20 17:44:40 CEST 2008


2008年6月20日 Kevin Jacobs <jacobs at bioinformed.com> <bioinformed at gmail.com>:
> On Fri, Jun 20, 2008 at 10:25 AM, Antoine Pitrou <solipsis at pitrou.net>
> wrote:
>>>> Kevin Jacobs <jacobs <at> bioinformed.com> <bioinformed <at> gmail.com>
>> writes:
>> >
>> > +1 on a C API for enabling and disabling GC. I have several instances
>> > where
>> I create a large number of objects non-cyclic objects where I see huge GC
>> overhead (30+ seconds with gc enabled, 0.15 seconds when disabled).
>>>> Could you try to post a stripped-down, self-contained example of such
>> behaviour?
>> $ python -m timeit 'zip(*[range(1000000)]*5)'
> 10 loops, best of 3: 496 msec per loop
>> $ python -m timeit -s 'import gc; gc.enable()' 'zip(*[range(1000000)]*5)'
> 10 loops, best of 3: 2.93 sec per loop

I remember that a similar issue was discussed some months ago:
http://bugs.python.org/issue2607
In short: the gc is tuned for typical usage. If your usage of python
is specific,
use gc.set_threshold and increase its values.
-- 
Amaury Forgeot d'Arc


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /