github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
nine Does a Deopt Inline annotation on a sp_p6oget_o actually do anything? The sp_p6oget_o cannot fail and cannot cause a deoptimizatoin anyway. 11:09
I think I solved my performance conundrum! 11:39
My best theory is that it's a bad inlining decision. The performance optimization in the branch is removal of unused args. That brings those subs below spesh's args limit.
The speshed version of the code is simply small enough to inline. Enabling the profiler however enlarges the code again so it's above the limit. 11:40
It seems like in this case inlining is simply the wrong thing to do.
.tell timotimo is there a way to have profiling ops not count towards the inlining limit? Apparently they can change performance behavior a lot by enlarging the bytecode. 11:48
yoleaux nine: I'll pass your message to timotimo.
nine And indeed! Just preventing p5_call_gv (the wrapper sub generated by NativeCall) from getting inlined cuts down runtime by more than 25 %! 12:40
.tell jnthn do you have any idea for my inlining issue? colabti.org/irclogger/irclogger_lo...-01-20#l10 I'd very much like to get that 10 % performance improvement instead of a 25 % slowdown :) 12:52
yoleaux nine: I'll pass your message to jnthn.
jnthn nine: Do you have instructions on how I can reproduce it and exactly what is being inlined that hurts? Normally inlining is a win, but either a) the inlining prevents JIT or b) we are doing a lot of deopt in the inlined thing and that somehow hurts 20:31
yoleaux 12:52Z <nine> jnthn: do you have any idea for my inlining issue? colabti.org/irclogger/irclogger_lo...-01-20#l10 I'd very much like to get that 10 % performance improvement instead of a 25 % slowdown :)
timotimo nine: if you could give me a spesh log of that situation with inlined and not inlined, that could be interesting. perhaps there's an op in the wrapper sub that prevents jit? that seems rather unlikely, but maybe not? 21:16
Geth MoarVM: ugexe++ created pull request #1037:
Add uname op
22:32