-
sewardj
j_ey: ping
-
j_ey
sewardj: pong
-
sewardj
j_ey: hey. I heard from cfallin some story about something that took 460 seconds to run
-
j_ey
sewardj: yeah, I should figure out if I can share that
-
sewardj
j_ey: and this was due to regalloc slowness? But I know nothing more
-
j_ey
RA took 460s itself
-
sewardj
That is a bit suboptimal for a JIT
-
j_ey
sewardj: is there a reason you dont want to get on zulip?
-
sewardj
I'm happy to get on zulip. I just don't know how. Chris told me I could log in using my github login, but I got confused by the user interface and failed to log in
-
j_ey
anyway, the test was just some random benchmark I have
-
j_ey
It wasnt anything hand crafted or anything
-
sewardj
j_ey: to clarify .. my current tasking is: fix up coalescing a bit, then switch to dealing with RA run time
-
j_ey
SortedRangeFx or something like that has a functions that domintae the profile
-
sewardj
j_ey: also to clarify .. many of the data structures in the RA as it stands were only ever intended to be stand-ins for properly tuned/designed structures. They are there so I could bring up and validate the top level design ASAP
-
j_ey
del(), can_add() and check() (this last one seems like a debug thing, so I commented it out)
-
sewardj
SortedRangeFrags indeed being one of them. That needs to be replaced by a proper interval tree.
-
j_ey
Cool, I did get that impression. I was running this stuff out of curiosity mostly
-
sewardj
j_ey: so this stuff is all on my next-week-to-look-at list.
-
sewardj
j_ey: what would be useful for me is to be able to reproduce your slow case, but only if it isn't too much hassle for you
-
j_ey
try get on zulip again, since this irc will be gone by next week
-
sewardj
uh, good point
-
j_ey
I'll ask about the reproducer, pretty sure I can give it out
-
sewardj
thanks.
-
j_ey
IIRC del() was called 21 million times
-
j_ey
took ~30% of the profile
-
sewardj
Sounds entirely plausible
-
sewardj
j_ey: don't bother to try fixing the current SortedRangeFrags implementation. Its new home will soon be /dev/null .. I'm aware it is unsuitable in a big-O sort of way
-
sewardj
(not just constant-factor slowness)
-
j_ey
fair
-
j_ey
I tried a few simple things like with_capacity() instead of new()
-
j_ey
but it didnt help much
-
sewardj
no doubt
-
sewardj
I never thought about it much because I knew it would have to be replaced
-
j_ey
sewardj: this test case seems stuck in find_best_evict_VirtualRange
-
j_ey
or at least everytime I stop it in gdb, it's in that
-
sewardj
j_ey: hmm, that seems ungood
-
sewardj
Can you get it to me?
-
j_ey
its a function with 2800 blocks
-
sewardj
j_ey: that's fine
-
j_ey
I let it run over lunch, took 70minutes
-
j_ey
hm, one of the problems was that I had to raise the number of ABI registers to get the code to lower properly
-
j_ey
since stack arguments arent supported yet
-
sewardj
j_ey: something that size would be very useful from the point of view of tuning the pipeline.
-
sewardj
If you can get it to us that would be helpful.
-
j_ey
sewardj: how can i send it to you?