On Fri, Jun 20, 2008 at 9:44 AM, Amaury Forgeot d'Arc
<[EMAIL PROTECTED]> wrote:
> 2008/6/20 Kevin Jacobs <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>:
>> On Fri, Jun 20, 2008 at 10:25 AM, Antoine Pitrou <[EMAIL PROTECTED]>
>> 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.

For very large bursts of allocation, tuning is no different from
disabling it outright, and disabling is simpler/more reliable.


-- 
Adam Olsen, aka Rhamphoryncus
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to