Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
00:02 reportable6 left 00:03 reportable6 joined 01:03 squashable6 left, reportable6 left, releasable6 left, sourceable6 left, shareable6 left, statisfiable6 left, unicodable6 left, coverable6 left, linkable6 left, evalable6 left, greppable6 left, benchable6 left, notable6 left, bloatable6 left, nativecallable6 left, tellable6 left, bisectable6 left, quotable6 left, committable6 left, bloatable6 joined, evalable6 joined, benchable6 joined, nativecallable6 joined 01:04 notable6 joined, tellable6 joined, quotable6 joined, squashable6 joined 01:05 statisfiable6 joined, shareable6 joined, sourceable6 joined 01:06 committable6 joined 01:12 frost joined 02:03 unicodable6 joined 02:04 bisectable6 joined, releasable6 joined 02:05 greppable6 joined, reportable6 joined 03:05 coverable6 joined 04:04 linkable6 joined 04:57 harrow left 05:01 harrow joined 06:02 reportable6 left
Nicholas good *, new-disp :-) 06:21
nine Yes, new-disp is good indeed! 06:32
07:53 linkable6 left, releasable6 left, bisectable6 left, coverable6 left, unicodable6 left, greppable6 left, bloatable6 left, nativecallable6 left, committable6 left, notable6 left, squashable6 left, quotable6 left, shareable6 left, sourceable6 left, benchable6 left, evalable6 left, statisfiable6 left, tellable6 left, sourceable6 joined, bloatable6 joined 07:54 bisectable6 joined, statisfiable6 joined, committable6 joined, nativecallable6 joined 07:55 notable6 joined, squashable6 joined 07:56 evalable6 joined
nine People who claim that computers are fast enough already clearly have never run CORE.c compilation in callgrind... 08:31
Nicholas oh my, oh yes.
and I thought ASAN was tedious
08:35 tealecloud joined
nine Stage parse : 1228.403 08:53
More time for the piano during the comparison run :) 08:54
08:54 benchable6 joined 08:56 unicodable6 joined, quotable6 joined 09:03 reportable6 joined 09:55 linkable6 joined, shareable6 joined, tellable6 joined
Geth MoarVM/new-disp: 0fed320794 | (Stefan Seifert)++ | 3 files
Replace costly $*MAST_FRAME lookup by $frame arg in bytecode generators
10:41
nine According to callgrind, this gets us from 311,532,366,964 (100.0%) PROGRAM TOTALS to 308,948,475,562 (100.0%) PROGRAM TOTALS 10:42
Less of a speedup than hoped, but it's at least better
It's clearly showing a million fewer lookups of dynamics. The part I don't understand is the ~3 million more lexical lookups using the frame walker we now do. 10:46
lizmat after doing a git pull in rakudo, I get: Too many positionals passed; expected 3 arguments but got 4
at /Users/liz/Github/rakudo.moar/install/share/nqp/lib/MAST/Ops.nqp:10964
nine lizmat: did you pull nqp and MoarVM as well?
lizmat guess nqp and MoarVM need to be bumped on new-disp as well?
ah... I need to rebuild :-)
I'm using the --gen-moar=new-disp trick :-) 10:47
nine With the situation as fluid as it is, we don't usually bump the revisions. You want to stay on top of the branches at all times anyway and bumps make rebasing a bit more tedious 10:48
lizmat yeah, just rebuilding it makes it work, sorry for the noise :-) 10:51
10:53 greppable6 joined 10:54 releasable6 joined 10:55 coverable6 joined
nine Huh...according to my fprintf in MVM_frame_find_lexical_by_name, it's actually doing fewer lookups now. 13861659 lookups of $?CLASS instead of 14337557. Others are exactly the same (and so few that they don't even matter) 11:05
11:05 linkable6 left
timo huh, "find_lexical_by_name" for $?CLASS? isn't it supposed to go via getlexperinvtype? 11:07
nine getlexperinvtype does use MVM_frame_find_lexical_by_name
11:08 linkable6 joined
timo oh, haha 11:08
but we do try to optimize that real good in spesh 11:09
could be a result of not inlining at the moment
do we have the callgrind numbers for master handy¿ 11:28
11:29 TempIRCLogger left, TempIRCLogger joined
timo don't want to force 20 minutes of callgrind onto you if not 11:42
12:02 reportable6 left 12:04 reportable6 joined 12:18 brrt joined
Nicholas good *, brrt 12:33
brrt good * Nicholas
12:57 frost left
nine master "only" looks up $?CLASS 10921854 times. But there are various other symbols that it looks up quite often that all but disappear from the list in new-disp. Like &needs_cond_passed 75961 vs 5 times or &type_to_local_type 61366 vs 4 or &push_op 33605 vs 9 13:50
13:50 linkable6 left 13:51 linkable6 joined 14:51 tealecloud left 14:54 tealecloud joined 15:46 MasterDuke joined 17:21 brrt left 17:59 tealecloud left 18:04 reportable6 left
Nicholas you know when you've been using rr "too much" when the first command you type in gdb is 'c' and it answers back with "The program is not being run." 18:58
timo when you press "c" on your keyboard to turn your computer on 19:12
lizmat ok, getting slightly annoyed now 19:52
Missing or wrong version of dependency 'gen/moar/stage2/NQPHLL.nqp' (from 'site#sources/45334C557865A97D1ECA0D3F3A3FAF2017FCE553 (OO::Monitors)')
I've nuked my install dir and built from scratch (on master) 19:53
decided to uninstall OO::Monitors yet again, and install again, and it works :-( 19:55
sorry for the noise
and back to failing again :-( 19:59
20:00 tealecloud joined 20:06 reportable6 joined
lizmat in the end I did a new rakudo checkout, which appears to have fixed it 20:24
dogbert11 lizmat: have you abandoned new-disp :) 20:27
lizmat I'm not sure what caused this, but yeah: in the middle of migrating modules to the zef ecosystem 20:29
and that still has a few rough edges
it was just one too many variables
it also was noticeably slower on my local logs server work 20:31
dogbert11 yeah, it's still a bit slower than master 20:32
20:33 Kaiepi joined 20:34 Kaipi left
timo one important piece of optimization is missing that currently prevents a lot of inlining, i think? 20:50
21:15 tealecloud left 23:24 greppable6 left, sourceable6 left, committable6 left, coverable6 left, bloatable6 left, bisectable6 left, quotable6 left, evalable6 left, squashable6 left, shareable6 left, linkable6 left, releasable6 left, benchable6 left, unicodable6 left, notable6 left, reportable6 left, statisfiable6 left, nativecallable6 left, tellable6 left 23:25 unicodable6 joined, notable6 joined, linkable6 joined 23:26 shareable6 joined, releasable6 joined, greppable6 joined, benchable6 joined, committable6 joined, nativecallable6 joined, bloatable6 joined 23:27 sourceable6 joined