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 serhiy.storchaka
Recipients ammar2, josh.r, larry, serhiy.storchaka, vstinner, xtreak
Date 2019-02-27.12:46:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1551271601.06.0.46645998412.issue36127@roundup.psfhosted.org>
In-reply-to
Content
Good questions Josh!

The size of the python binary has been increased from 17494944 bytes (17085 KiB) to 17657112 bytes (17243 KiB) -- by 1%.

I think that this change can not increase memory consumption, because the new code does not use the heap (the old code can allocate additional memory dynamically).

As for using the stack memory, it is not so clear. On one side, the new code allocates an array on the stack for references to all parameters, and this memory is left in use until you return from the function. On other side, the old code allocates a lot of variables and static-sized buffers, and creates several function frames, but this memory is released after the end of arguments parsing. I think that for non-recursive functions the new code has smaller stack memory consumption (while the function has less than several tens of parameters), but for recursive functions it can increase stack memory consumption. Although I do not know whether any of affected functions is recursive.
History
Date User Action Args
2019-02-27 12:46:41serhiy.storchakasetrecipients: + serhiy.storchaka, vstinner, larry, josh.r, ammar2, xtreak
2019-02-27 12:46:41serhiy.storchakasetmessageid: <1551271601.06.0.46645998412.issue36127@roundup.psfhosted.org>
2019-02-27 12:46:41serhiy.storchakalinkissue36127 messages
2019-02-27 12:46:40serhiy.storchakacreate