This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author A. Skrobov
Recipients A. Skrobov, christian.heimes, eryksun, paul.moore, rhettinger, serhiy.storchaka, steve.dower, tim.golden, vstinner, zach.ware
Date 2016-03-09.14:07:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1457532423.49.0.805984681934.issue26415@psf.upfronthosting.co.za>
In-reply-to
Content
The attached patch for the parser reduces "Maximum resident set size (kbytes)" threefold, for the degenerate example of 'import ast; ast.parse("0,"*1000000, mode="eval")', by eliminating many CST nodes that have a single child.

According to the comment in node.c -- "89% of PyObject_REALLOC calls in PyNode_AddChild passed 1 for the size" -- the memory saving should be generally applicable, and not limited just to this degenerate case.

Modules/parsermodule.c is not yet updated to match. Please tell if you want me to do that, in case that my proposed change to the parser is acceptable.
History
Date User Action Args
2016-03-09 14:07:03A. Skrobovsetrecipients: + A. Skrobov, rhettinger, paul.moore, vstinner, christian.heimes, tim.golden, zach.ware, serhiy.storchaka, eryksun, steve.dower
2016-03-09 14:07:03A. Skrobovsetmessageid: <1457532423.49.0.805984681934.issue26415@psf.upfronthosting.co.za>
2016-03-09 14:07:03A. Skrobovlinkissue26415 messages
2016-03-09 14:07:03A. Skrobovcreate