Emile van Sebille <em...@fenx.com> writes: > On 10/8/2014 10:28 AM, > bryanjugglercryptograp...@yahoo.com.dmarc.invalid wrote: > >> That doesn't mean to tell a human administrator to regularly restart the >> server. It's programmatic and it's a reasonably simple and well-established >> design pattern. > > I'd call it more a compensation technique than a design pattern*. You > know, like rebooting windows routinely. :) > > Emile > > > *) Alternately known as a workaround or kludge.
Well, everything has a price. Python does not use memory compaction but places many objects on the heap and therefore, long running processes usually are subject to memory fragmentation. As a consequence, those processes need to be restarted from time to time. Would Python use memory compaction, implementing C extensions would be much more tedious and error prone and there would be less such extensions - limiting the domain where Python is used. One has to choose. People who do not like the choice of the "CPython" implementation (no memory compaction) may look at "Jython" (based on Java, with memory compaction). If they are lucky, all the extensions they need are available there. -- https://mail.python.org/mailman/listinfo/python-list