2014-04-23 15:59 GMT+02:00 Phil Connell <pconn...@gmail.com>: > On Wed, Apr 23, 2014 at 03:48:32PM +0200, Amirouche Boubekki wrote: > > 2014-04-23 8:11 GMT+02:00 Cameron Simpson <c...@zip.com.au>: > > > Look up the "__slots__" dunder var in the Python doco index: > > > > > > https://docs.python.org/3/glossary.html#term-slots > > > > > > You'll see it as a (rarely used, mostly discouraged) way to force a > fixed > > > set of attributes onto a class. As with object, this brings a smaller > > > memory footprint and faster attribute access, but the price is > flexibility. > > > > > > > True, still can be the only way to save few MB or... GB without falling > > back to C or PyPy. > > > > Have a look at PyPy to how to save memory (and speed things up) without > > slots: > > > http://morepypy.blogspot.fr/2010/11/efficiently-implementing-python-objects.html > > Is there any analysis of how this balances increased memory usage from the > JIT > vs the CPython VM (with a reasonable amount of code)? > > I'd thought that one of the main disadvantages of PyPy was drastically > increased memory usage for any decent-sized program. Would be interested to > know if this was not the case :) >
I have a similar thought, I don't how that memory consumption increase (a constant? a factor? probably both...) but if the program use an absurd amount of memory even in CPython then PyPy will be able to catchup based on comment #1 of a PyPy core dev in http://tech.oyster.com/save-ram-with-python-slots/ see also http://pypy.readthedocs.org/en/latest/interpreter-optimizations.html#dictionary-optimizations Still it requires more analysis. When does PyPy trigger the optimization? > > > Cheers, > Phil > > -- > https://mail.python.org/mailman/listinfo/python-list >
-- https://mail.python.org/mailman/listinfo/python-list