A. Skrobov added the comment: Now that #26526 landed (thanks to everybody involved!), I'm requesting a review on an updated version of my patch, which addresses the excessive memory consumption by the parser.
The description of my original patch still applies: > 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 Parser/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. > I've now tried it with "perf.py -r -m", and the memory savings are as follows: > ... > on these benchmarks, the saving is not threefold, of course; but still quite > substantial (up to 30%). My new patch updates Modules/parsermodule.c to accept such "compressed" nodes, so that everything still builds cleanly and passes the tests. ---------- nosy: +benjamin.peterson, berker.peksag, brett.cannon, fdrake, giampaolo.rodola Added file: http://bugs.python.org/file43261/patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26415> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com