On Mon, Jun 15, 2020 at 9:21 AM Barry Scott <ba...@barrys-emacs.org> wrote:
> The problem is when you fork a python process. > > Each of the child processes you would hope shared the state of the > parent that is not being changed. But because of ref counting > even unchanging objects get modified by a ref count inc/dec cycle > and then the page that the object is in is copy-on-write'ed. > > End result is that a children share no pages with the parent. > I'm out of my depth here, but: how many immortal objects are there? Quite a few, but they are small, yes? (None, False, True, small integers, ....) and the copy-on-write happens at the page scale (~4096k ???). So would having a bunch of small immortal objects that don't get altered really help? Maybe if they were organised to be all together. It seems this could make a much more substantial difference if the user could mark certain objects immortal. But that would be pretty tricky -- as Python typically has a lot of small objects in containers -- how would you mark them all? -CHB -- Christopher Barker, PhD Python Language Consulting - Teaching - Scientific Software Development - Desktop GUI and Web Development - wxPython, numpy, scipy, Cython
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/OIYVVHWHK64PJYRP3SQTGLRAYROD2BLK/ Code of Conduct: http://python.org/psf/codeofconduct/