[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:

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

2014-05-22 Thread Stefan Krah
Changes by Stefan Krah stefan-use...@bytereef.org: -- nosy: -skrah ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19533 ___ ___ Python-bugs-list

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

2014-04-23 Thread Phil Connell
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19533 ___ ___ Python-bugs-list

[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 ossifrage']

[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]

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

2013-11-09 Thread Serhiy Storchaka
Changes by Serhiy Storchaka storch...@gmail.com: -- Removed message: http://bugs.python.org/msg202474 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19533 ___

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

2013-11-09 Thread Serhiy Storchaka
Changes by Serhiy Storchaka storch...@gmail.com: -- components: -Tests type: behavior - enhancement versions: -Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19533

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

2013-11-09 Thread Serhiy Storchaka
Changes by Serhiy Storchaka storch...@gmail.com: -- versions: +Python 3.3 -Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19533 ___ ___

[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 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

[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

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

2013-11-09 Thread Stefan Krah
Stefan Krah added the comment: R. David Murray rep...@bugs.python.org 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

[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

[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).