<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-23 15:59 GMT+02:00 Phil Connell <span dir="ltr"><<a href="mailto:pconnell@gmail.com" target="_blank">pconnell@gmail.com</a>></span>:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">On Wed, Apr 23, 2014 at 03:48:32PM +0200, Amirouche Boubekki wrote:<br>
> 2014-04-23 8:11 GMT+02:00 Cameron Simpson <<a href="mailto:cs@zip.com.au">cs@zip.com.au</a>>:<br>
</div><div class="">> > Look up the "__slots__" dunder var in the Python doco index:<br>
> ><br>
> >   <a href="https://docs.python.org/3/glossary.html#term-slots" target="_blank">https://docs.python.org/3/glossary.html#term-slots</a><br>
> ><br>
> > You'll see it as a (rarely used, mostly discouraged) way to force a fixed<br>
> > set of attributes onto a class. As with object, this brings a smaller<br>
> > memory footprint and faster attribute access, but the price is flexibility.<br>
> ><br>
><br>
> True, still can be the only way to save few MB or... GB without falling<br>
> back to C or PyPy.<br>
><br>
> Have a look at PyPy to how to save memory (and speed things up) without<br>
> slots:<br>
> <a href="http://morepypy.blogspot.fr/2010/11/efficiently-implementing-python-objects.html" target="_blank">http://morepypy.blogspot.fr/2010/11/efficiently-implementing-python-objects.html</a><br>
<br>
</div>Is there any analysis of how this balances increased memory usage from the JIT<br>
vs the CPython VM (with a reasonable amount of code)?<br>
<br>
I'd thought that one of the main disadvantages of PyPy was drastically<br>
increased memory usage for any decent-sized program. Would be interested to<br>
know if this was not the case :)<br></blockquote><div><br></div><div>I have a similar thought, I don't how that memory consumption increase (a constant? a factor? probably both...)<br><br>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 <a href="http://tech.oyster.com/save-ram-with-python-slots/">http://tech.oyster.com/save-ram-with-python-slots/</a> see also <a href="http://pypy.readthedocs.org/en/latest/interpreter-optimizations.html#dictionary-optimizations">http://pypy.readthedocs.org/en/latest/interpreter-optimizations.html#dictionary-optimizations</a><br>

<br></div><div>Still it requires more analysis. When does PyPy trigger the optimization?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<br>
<br>
Cheers,<br>
Phil<br>
<span class=""><font color="#888888"><br>
--<br>
<a href="https://mail.python.org/mailman/listinfo/python-list" target="_blank">https://mail.python.org/mailman/listinfo/python-list</a><br>
</font></span></blockquote></div><br></div></div>