github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
01:54 lizmat left 02:38 Kaiepi left 03:49 MasterDuke left 04:41 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 08:55 AlexDaniel left 09:42 lizmat joined, p6bannerbot sets mode: +v lizmat
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.
12:37 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
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.
13:18 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 15:03 domidumont joined 15:04 p6bannerbot sets mode: +v domidumont 16:09 zakharyas joined 16:10 p6bannerbot sets mode: +v zakharyas 16:14 domidumont left, domidumont joined 16:15 p6bannerbot sets mode: +v domidumont 16:17 domidumont left 16:18 domidumont joined, p6bannerbot sets mode: +v domidumont 17:20 lucasb joined, p6bannerbot sets mode: +v lucasb 17:42 dogbert11 left 18:05 domidumont left 18:21 domidumont joined 18:22 p6bannerbot sets mode: +v domidumont 20:15 domidumont left
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
21:22 dogbert17 joined 21:23 p6bannerbot sets mode: +v dogbert17 21:50 zakharyas left
Geth MoarVM: ugexe++ created pull request #1037:
Add uname op
22:32
23:08 lucasb left