
On Tue, Dec 25, 2018 at 8:59 AM Armin Rigo <armin.rigo@gmail.com> wrote:
Any clue about why the "purple line" graph, after adding some gc.disable() and gc.collect_step(), is actually 10% faster than the baseline? Is that because "purple" runs the GC when "yellow" would be sleeping waiting for the next input, and you don't count that time in the performance? If so, maybe we could clarify that we don't expect better overall performance by adding some gc.disable() and gc.collect_step() in a program doing just computations---in this case it works because it is reorganizing tasks in such a way that the GC runs at a moment where it is "free".
Yes, that's exactly the reason: the GC still runs, but runs "somewhere else" which is not shown in the graph. I added a paragraph to explain it better, thanks for the suggestion. Btw, the final blog post has been published here: https://morepypy.blogspot.com/2019/01/pypy-for-low-latency-systems.html ciao, Anto