<cfbolz>
woops, I think I found the reason for the occasional slow outliers/big pauses in the incremental GC
<cfbolz>
the code has this nice comment: "The idea is to ensure termination at the cost of some incrementality, in theory." (but it seems the theory is wrong and it trades a huge amount of incrementality for termination here)
<cfbolz>
maybe there's another theory that explains the spikes, checking
fish1 has quit [Ping timeout: 240 seconds]
fish1 has joined #pypy
<krono>
:D
otisolsen70 has joined #pypy
ruth2345345 has quit [Ping timeout: 260 seconds]
otisolsen70 has quit [Quit: Leaving]
Julian has joined #pypy
tos9_ has joined #pypy
Julian has quit [Ping timeout: 255 seconds]
ruth2345345 has joined #pypy
tos9_ is now known as Julian
<cfbolz>
and the answer is 🥁
<cfbolz>
finalizers
<cfbolz>
surprise
<nimaje>
hm, would replacing finalizers with some cleaner api, like java tries (jep 421, ...), help?
tos9_ has joined #pypy
tos9_ has quit [Client Quit]
Julian has quit [Ping timeout: 260 seconds]
<arigato>
cfbolz: how is that? finalizers in RPython should run quite quickly
Julian has joined #pypy
<cfbolz>
arigato: it's the computation of the order I think?
<cfbolz>
also that part is not incremental
<arigato>
ah I see, annoying
<cfbolz>
yeah :-(
<cfbolz>
but would be really annoying to fix i think
jinsun has quit [Read error: Connection reset by peer]
<fijal>
arigato: hi!
ruth2345345 has quit [Ping timeout: 260 seconds]
<arigato>
fijal: hi!
jinsun has joined #pypy
<arigato>
cfbolz: I *think* I remember that it wouldn't be too hard to make that incremental, but of course that's assuming someone has got all the details in mind
<cfbolz>
yeah, which I very much don't for example 😅
<fijal>
arigato: I'm a zombie, but I did write about rhino on slack