github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
nwc10 good *, #moarvm 07:42
samcv good * nwc10 08:24
MasterDuke does anybody have an idea why --profile-stage=<anything> would silently not work (i.e., profiling is started, and the compilation finishes, but no profile file is written) when attempting to profile the rakudo build? 10:15
it does work with toy examples, so it's not completely broken 10:16
but something a little bigger than a toy example actually dies with: `===SORRY!===Profiling is already startedWriting profiler output to pc-parse.htmlSome exceptions were thrown in END blocks: X::AdHoc: Cannot end profiling if not profiling` 10:19
but succeeds (doesn't die and does write the file) if the BEGIN/INIT/END blocks are commented out 10:20
lizmat pings timotimo 10:22
nine MasterDuke: this is a patch I used when profiling the new MBC backend: gist.github.com/niner/8ebb8c6a1052...12759d85c4 10:39
May not fix the issue out of the box, but could give you an idea on where to look at least 10:40
MasterDuke huh, thanks
nqp: say("does this still work?") 10:41
camelia does this still work?
lizmat nine: new MBC backend ?
.oO( reporter mode :-)
10:42
nine I guess it's old by now :)
jnthn When QAST -> MAST got rewritten to make bytes instead of a tree
lizmat aaah... ok 10:43
jnthn I wonder if we ever removed the tree compiler in MoarVM's sources, now it's unused
MasterDuke nqp: my $a := nqp::list_i(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); my $b; my int $c := 0; my num $s := nqp::time_n(); $b := +$a while $c++ < 100_000_000; say(nqp::sub_n(nqp::time_n(), $s)); say($b)
camelia 1.6463899612426758
10
nine I think I did
MasterDuke nqp: my $a := nqp::list_i(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); my $b; my int $c := 0; my num $s := nqp::time_n(); $b := nqp::elems($a) while $c++ < 100_000_000; say(nqp::sub_n(nqp::time_n(), $s)); say($b)
camelia 0.5026788711547852
10
nine Yeah, src/mast is gone 10:43
jnthn MasterDuke: If you make it @a instead, I think it may be smarter about that 10:44
MasterDuke ^^^ the + should have been optimized into nqp::elems, right?
jnthn MasterDuke: Only for +@
MasterDuke nqp: my @a := nqp::list_i(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); my $b; my int $c := 0; my num $s := nqp::time_n(); $b := nqp::elems(@a) while $c++ < 100_000_000; say(nqp::sub_n(nqp::time_n(), $s)); say($b)
camelia 0.5004982948303223
10
MasterDuke nqp: my @a := nqp::list_i(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); my $b; my int $c := 0; my num $s := nqp::time_n(); $b := +@a while $c++ < 100_000_000; say(nqp::sub_n(nqp::time_n(), $s)); say($b)
camelia 1.695204734802246
10
jnthn I thought the NQP optimizer did that, anyway 10:45
MasterDuke there are a lot of those in NQP, looks like maybe they aren't getting optimized like they should? 10:48
perf shows 33% of the time spent in MVM_coerce_smart_intify for the + version 10:51
at 100_000_000 (and same with 1 billion), github.com/MoarVM/MoarVM/blob/mast...1045-L1077 only gets called when setting MVM_SPESH_NODELAY=1 (but total execution time is the same) 11:15
jnthn: why does it require MVM_SPESH_NODELAY=1? 11:21
jnthn No idea. 11:22
I think maybe there was something with OSR not really working out in the top level of NQP programs? 11:23
MasterDuke heh, that came out as a very specific/direct question
but hm, that does ring a bell
well, just sticking it in a sub and then calling it doesn't change anything 11:24
jnthn OK, then not that. Interesting. 11:25
AlexDaniel m: say await Promise supply { emit 42 } 12:44
camelia ===SORRY!=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> say await Promise⏏ supply { emit 42 }
expecting any of:
infix
infix stopper
postfix
statement end
AlexDaniel nvm
AlexDaniel jnthn: /msg ChanServ SET #moarvm MLOCK -c 12:51
jnthn: to keep color handling consistent between channels 12:52
jnthn AlexDaniel: What does that do?
AlexDaniel jnthn: +c strips colors
jnthn Oh, right
AlexDaniel jnthn: so camelia can't do colorful output here
jnthn That's the opposite of what I'd expect - and + to do ;)
AlexDaniel ah :D 12:53
jnthn m: 1 1
camelia ===SORRY!=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 1⏏ 1
expecting any of:
infix
infix stopper
statement end
statement modifier
statement modifier…
jnthn huh, I can the command...
*ran 12:54
AlexDaniel jnthn: hmm… are you sure? 12:55
jnthn Maybe I wasn't identified but I am now...tried it again
oh, it says I'm not authorized. What.
AlexDaniel aaaaaaa I see 12:56
AlexDaniel jnthn: that won't help, you can't do it, sorry for bothering 12:56
jnthn grr
AlexDaniel jnthn: do `FLAGS #moarvm` to see why
AlexDaniel only diakopter and mst can 12:56
mst: ping 12:57
ok maybe not even diakopter… :)
jnthn Probably I should also be able to do that
AlexDaniel mst: can you give the founder flag to jnthn and maybe even me?
mst: that's how it is on #raku and #raku-dev 12:58
jnthn: but while you're here let's fix #perl6-dev maybe 12:59
let me find the instructions again…
jnthn: colabti.org/irclogger/irclogger_lo...01-28#l152 13:00
that's pretty much what I did to #perl6, I didn't have the permissions to do that for #perl6-dev 13:01
jnthn Done
AlexDaniel OK those who idle will remain on the channel 13:02
AlexDaniel but once they rejoin they'll be redirected 13:02
jnthn ok
AlexDaniel eventually everyone will be redirected after a netsplit or something, like it happened on #perl6
jnthn: thanks!
brrt \o 13:18
tellable6 2020-02-28T21:50:20Z #moarvm <MasterDuke> brrt: what sort of special handling? for some ops before we've just moved the code in interp.c into a function and called that, don't know if that's a viable option here
2020-03-10T18:47:45Z #moarvm <lizmat> brrt could you have a look at vrurg's last work, and see what would be need to get it JITted ?
nwc10 o/
(your timing is perfect as I was briefly *not* AFK. I am likely to be AFK again) 13:19
brrt ohai nwc10 13:20
I was going to ask 'what did I miss' but I've been happily reminded by a bot
.ask lizmat what would be vrurg's last work
tellable6 brrt, I'll pass your message to lizmat
brrt nwc10: you can actually go outside still? :-P 13:21
nwc10 there is a garden
and I actually went shopping yesterday
Austria's current rules even permit you to go for a walk 13:22
(without needing to borrow someone else's dog)
of course, our "work from home" plan will be complicated by an office "move", which sort of now is "when is the VPN endpoint going down for its trip across town?" 13:23
brrt oh, you're not in the UK 13:27
vrurg brrt: lizmat meant github.com/MoarVM/MoarVM/pull/1252 and github.com/MoarVM/MoarVM/pull/1255. But MasterDuke has likely done what was missing in github.com/MoarVM/MoarVM/pull/1259
brrt thank you vrurg++ and MasterDuke++ 13:28
AlexDaniel .seen mst 14:27
tellable6 AlexDaniel, I saw mst 2020-03-13T03:07:04Z in #raku: <mst> fhpedro: please talk to me in #raky
AlexDaniel raky 😏😏😏 14:28