New submission from Kristján Valur Jónsson <krist...@ccpgames.com>:
floatobject.c has its own block allocator. This appears to be ancient, from before the time when obmalloc.c was invented. This patch removes this allocator and puts an upper limit on the freelist of floats. The purpose of this is to reduce memory fragmentation, since blocks used for floats cannot be used for anything else in python. These blocks tend to stay around for a long time, it is sufficient for one float from each of the 1k blocks to be alive to keep that block present in memory forever. It is the presence of the fast freelist that is the performance enhancer here, not the fast block allocator. ---------- components: Interpreter Core files: nofreelist.patch keywords: patch messages: 157016 nosy: krisvale priority: normal severity: normal status: open title: Remove special block allocation from floatobject.c type: enhancement versions: Python 3.3 Added file: http://bugs.python.org/file25061/nofreelist.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue14435> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com