So I did a bit of benchmarking and attached is the code I used.  With
downsizing happening when ma_used * 2 <= ma_filled, or the following
for the condition in question:

    if (mp->ma_used <= n_used || (mp->ma_fill*3 < (mp->ma_mask+1)*2 &&
mp->ma_used*2 > mp->ma_fill))

I see marginally faster performance with downsizing.  I chose a factor
of 2x because it will ensure downsizings before the ma_fill load
factor comes into play and will also not cause a resize on the next
insert.  Using the vanilla python2.7.3 code, there are never any
resize events where the new size is smaller than the old size.

Cheers,
Micha
-----------------------------
http://micha.gd/
http://github.com/mynameisfiber/

Attachment: test.py
Description: Binary data

_______________________________________________
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