[issue19533] Unloading docstrings from memory if -OO is given

2020-03-06 Thread Brett Cannon
Brett Cannon added the comment: Do note that .pyc files now encode their optimization levels, so the only thing to potentially do here is change the compiler to toss docstrings out and make sure they are freed when they are parsed to avoid holding on to them. --

[issue19533] Unloading docstrings from memory if -OO is given

2020-03-06 Thread Brett Cannon
Change by Brett Cannon : -- nosy: -brett.cannon ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail

[issue19533] Unloading docstrings from memory if -OO is given

2014-05-22 Thread Stefan Krah
Changes by Stefan Krah : -- nosy: -skrah ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.o

[issue19533] Unloading docstrings from memory if -OO is given

2014-04-23 Thread Phil Connell
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.pytho

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-10 Thread Stefan Krah
Stefan Krah added the comment: It looks like the memory management is based directly on Py_Arenas: def f(): """squeamish ossifrage""" pass Breakpoint 1, PyArena_Free (arena=0x9a5120) at Python/pyarena.c:159 159 assert(arena); (gdb) p arena->a_objects $1 = ['f', 'squeamish ossifr

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread R. David Murray
R. David Murray added the comment: Hmm. If I turn on gc debugging before the def, I don't see anything get collected. If I allocate a series of new 10K strings, the memory keeps growing. Of course, that could still be down to the vagaries of OS memory management. Time to break out Victor's

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread Stefan Krah
Stefan Krah added the comment: R. David Murray wrote: > So the question is, if there is no longer a reference to the docstring, why > isn't it garbage collected? (I tested adding a gc.collect(), and it didn't > make any difference.) I think it probably is garbage collected but the freed memo

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread R. David Murray
R. David Murray added the comment: So the question is, if there is no longer a reference to the docstring, why isn't it garbage collected? (I tested adding a gc.collect(), and it didn't make any difference.) -- nosy: +r.david.murray ___ Python trac

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread Sworddragon
Sworddragon added the comment: > Do realize this is a one-time memory cost, though, because next execution > will load from the .pyo and thus will never load the docstring into memory. Except in 2 cases: - The bytecode was previously generated with -O. - The bytecode couldn't be written (for e

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread Brett Cannon
Brett Cannon added the comment: Do realize this is a one-time memory cost, though, because next execution will load from the .pyo and thus will never load the docstring into memory. If you pre-compile all bytecode with -OO this will never even occur. -- nosy: +brett.cannon ___

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- versions: +Python 3.3 -Python 2.7 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscrib

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- Removed message: http://bugs.python.org/msg202474 ___ Python tracker ___ ___ Python-bugs-list mailing

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- components: -Tests type: behavior -> enhancement versions: -Python 3.3, Python 3.4 ___ Python tracker ___ _

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-09 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Some tests fail when ran with -OO and then with -O. Short example (there are more examples): $ rm -rf Lib/test/__pycache__ $ ./python -OO -m test.regrtest test_property [1/1] test_property 1 test OK. $ ./python -O -m test.regrtest test_property [1/1] test_pro

[issue19533] Unloading docstrings from memory if -OO is given

2013-11-08 Thread Sworddragon
New submission from Sworddragon: Using -OO on a script will remove the __doc__ attributes but the docstrings will still be in the process memory. In the attachments is an example script which demonstrates this with a docstring of ~10 MiB (opening the file in an editor can need some time). Call