
I've taken some statistics on how the boehm gc performs with our current application, it has terrible worst case performance, often stopping for hundreds of mS at a time. I tried calling GC_enable_incremental() but that seems to cause the code to explode. I don't have any idea how to obtain similar statistics for the refcounting gc, which is also non-realtime. Perhaps it is in fact worse than boehm in this regard. Over-all CPU usage is significantly less with boehm, but a lot can happen in 300mS of a garbage collection. I don't think it's feasable compiling the pypy interpreter with refcounting, it takes a truly vast amount of time (some hours...) It would be good using the pypy interpreter to script our rpython codebase, but this gc issue seems to be a blocker. Simon.

Hi Simon, On Tue, Jan 29, 2008 at 09:06:22AM -0800, Simon Burton wrote:
I've taken some statistics on how the boehm gc performs with our current application, it has terrible worst case performance, often stopping for hundreds of mS at a time.
What is the context? It's unclear to me if you're talking about PyPy the Python interpreter, another stand-alone RPython program, or a CPython extension module translated from RPython. In all cases but the latter you should definitely try our own GCs instead of Boehm. The generational GC in particular, while not real-time in any sense of the word, is probably the one with the least amount of long pauses - most collections are very quick. A bientot, Armin

Hi Simon, On Tue, Jan 29, 2008 at 09:06:22AM -0800, Simon Burton wrote:
I've taken some statistics on how the boehm gc performs with our current application, it has terrible worst case performance, often stopping for hundreds of mS at a time.
What is the context? It's unclear to me if you're talking about PyPy the Python interpreter, another stand-alone RPython program, or a CPython extension module translated from RPython. In all cases but the latter you should definitely try our own GCs instead of Boehm. The generational GC in particular, while not real-time in any sense of the word, is probably the one with the least amount of long pauses - most collections are very quick. A bientot, Armin
participants (2)
-
Armin Rigo
-
Simon Burton