Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #70545
| Date | 2014-04-23 16:50 +0100 |
|---|---|
| From | Phil Connell <pconnell@gmail.com> |
| Subject | Re: object().__dict__ |
| References | <51d9b7f1-3511-4110-adb2-aa2226bd7a3c@lists.xtsubasa.org> <20140423061123.GA47008@cskk.homeip.net> <CAL7_Mo9Hb44ZPEw2UvKcRDiugw-Voh0y=JoMHqGKYHzY8dyKrA@mail.gmail.com> <20140423135935.GA17819@phconnel-ws.cisco.com> <CAL7_Mo_PTrCW=GYP5AWJ+OnpCgrzZ0p7QUJGRXginNxzCscH1w@mail.gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.9468.1398268738.18130.python-list@python.org> (permalink) |
On Wed, Apr 23, 2014 at 04:21:26PM +0200, Amirouche Boubekki wrote: > 2014-04-23 15:59 GMT+02:00 Phil Connell <pconnell@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 <cs@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 Absolutely. For long-running code manipulating large amounts of data I can imagine the PyPy optimisations being a win. On the other hand, if the code/data ratio is larger, CPython may well win in terms of memory use. > > Still it requires more analysis. When does PyPy trigger the optimization? Indeed. Without measuring this is all idle speculation ;)
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: object().__dict__ Phil Connell <pconnell@gmail.com> - 2014-04-23 16:50 +0100
csiph-web