github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:39 ggoebel left 01:13 avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 01:14 p6bannerbot sets mode: +v avar 01:17 lizmat left 01:33 avar left 01:34 ZzZombo left 01:39 huggable left, hoelzro left, ilmari left, AlexDaniel left, Kaiepi left, Sigyn left, greppable6 left, quotable6 left, emerson left, p6lert_ left, synopsebot left, Geth left, dalek left, tbrowder__ left, chansen__ left, leedo left, AlexDaniel` left, moritz left, harrow` left, ZofBot left, SmokeMachine left, masak left, nebuchadnezzar left, buggable left, undersightable6 left, committable6 left, eater left, japhb left, wictory[m] left, mtj_ left, jnthn left, BinGOs left, jpf1 left, robertle left, reportable6 left, evalable6 left, releasable6 left, shareable6 left, bisectable6 left, benchable6 left, nativecallable6 left, statisfiable6 left, squashable6 left, bloatable6 left, nine left, Redfoxmoon left, timotimo left, scovit left, bartolin left, nwc10 left, TimToady left, camelia left, dogbert17 left, ankitkk left, Voldenet left, samcv left, [Coke] left, ChanServ left 01:44 krunen joined, p6bannerbot joined, geekosaur joined, ZofBot joined, niven.freenode.net sets mode: +vovv krunen p6bannerbot geekosaur ZofBot, harrow` joined, moritz joined, dalek joined, japhb joined, niven.freenode.net sets mode: +vvvv harrow` moritz dalek japhb, eater joined, notable6 joined, unicodable6 joined, committable6 joined, niven.freenode.net sets mode: +vvvv eater notable6 unicodable6 committable6, undersightable6 joined, buggable joined, Sigyn joined, AlexDaniel` joined, niven.freenode.net sets mode: +vvvv undersightable6 buggable Sigyn AlexDaniel`, leedo joined, [Coke] joined, samcv joined, Voldenet joined, niven.freenode.net sets mode: +vvvv leedo [Coke] samcv Voldenet, ankitkk joined, dogbert17 joined, camelia joined, TimToady joined, niven.freenode.net sets mode: +vvvv ankitkk dogbert17 camelia TimToady, nwc10 joined, tadzik1 joined, avar joined, ilmari joined, hoelzro joined, huggable joined, niven.freenode.net sets mode: +vvvv nwc10 ilmari hoelzro huggable, bartolin joined, diakopter joined, mst joined, niven.freenode.net sets mode: +vvov bartolin diakopter mst mst, scovit joined, timotimo joined, klapperl_ joined, sivoais_ joined, niven.freenode.net sets mode: +vvvv scovit timotimo klapperl_ sivoais_, Redfoxmoon joined, emerson joined, niven.freenode.net sets mode: +v Redfoxmoon, chansen___ joined, tbrowder___ joined, SmokeMachine joined, masak joined, niven.freenode.net sets mode: +vv SmokeMachine masak, p6bannerbot left, greppable6 joined, quotable6 joined, niven.freenode.net sets mode: +vv greppable6 quotable6, AlexDaniel joined, Kaiepi joined, btyler_ joined, niven.freenode.net sets mode: +vvv AlexDaniel Kaiepi btyler_, wictory[m] joined, mtj_ joined, jnthn joined, BinGOs joined, niven.freenode.net sets mode: +vvvv wictory[m] mtj_ jnthn BinGOs, jpf1 joined, niven.freenode.net sets mode: +v jpf1 01:45 nebuchadnezzar joined, niven.freenode.net sets mode: +v nebuchadnezzar, reportable6 joined, evalable6 joined, releasable6 joined, shareable6 joined, niven.freenode.net sets mode: +vvvv reportable6 evalable6 releasable6 shareable6, bisectable6 joined, benchable6 joined, nativecallable6 joined, statisfiable6 joined, niven.freenode.net sets mode: +vvvv bisectable6 benchable6 nativecallable6 statisfiable6, squashable6 joined, bloatable6 joined, nine joined, niven.freenode.net sets mode: +vvv squashable6 bloatable6 nine 01:46 Kaypie joined, Kaiepi left, p6bannerbot joined 01:47 ChanServ joined, niven.freenode.net sets mode: +o ChanServ 01:48 emerson left, p6bannerbot left, p6bannerbot joined, ChanServ sets mode: +o p6bannerbot 01:49 emerson joined, p6bannerbot sets mode: +v emerson, robertle joined 01:50 p6bannerbot sets mode: +v robertle 01:51 tbrowder___ left, tbrowder___ joined, chansen___ left, chansen___ joined, p6bannerbot sets mode: +v tbrowder___, p6bannerbot sets mode: +v chansen___ 02:24 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 02:25 fake_space_whale joined 02:26 p6bannerbot sets mode: +v fake_space_whale 02:34 coverable6 joined, p6bannerbot sets mode: +v coverable6 03:34 yoleaux joined 03:35 p6bannerbot sets mode: +v yoleaux 05:00 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 05:04 ZzZombo left, ZzZombo_ is now known as ZzZombo 05:53 domidumont joined 05:54 p6bannerbot sets mode: +v domidumont 06:02 domidumont left 06:15 domidumont joined 06:16 p6bannerbot sets mode: +v domidumont 06:17 fake_space_whale left 06:34 brrt joined 06:35 p6bannerbot sets mode: +v brrt
brrt \o 06:35
yoleaux 9 Oct 2018 21:48Z <[Coke]> brrt: my TPF address is tpf-grants-secretary at perl-foundation.org.
brrt thank you
nwc10 o/ 06:36
brrt ohai nwc10 06:37
brrt is debugging jnthn's issue 06:39
06:49 patrickb joined, p6bannerbot sets mode: +v patrickb
brrt p6invokeunder is compiled and it really shouldn't be 06:52
it twiddles the interp_cur_op 06:54
timotimo that sounds like an easy fix for the explosions: remove the jitting of that op :) 06:59
07:09 p6bannerbot left, huggable left, brrt left, ilmari left 07:10 ilmari joined, ilmari left, ilmari joined 07:24 brrt joined 07:28 brrt left 07:36 hoelzro left, hoelzro joined, lizmat joined
masak hi, was gonna re-voice everyone, but it turns out I don't have op on the channel ;) 08:03
thank you for your continued patience
timotimo until then, #perl6-dev is a fine place to talk about moarvm stuff as well, i reckon 08:04
nwc10 poor starving, er silent ilmari 08:05
masak ilmari: you can try miming what you want to say
nwc10 masak: I fear that it's still the wee small hours of the morning in MST 08:06
masak nwc10: that's, like, the worst time to not have a voice 08:09
timotimo in +m, nobody can hear you scream
(except for ops)
08:17 brrt joined 08:34 ChanServ sets mode: +o jnthn, jnthn sets mode: -m
jnthn good -moarning :) 08:34
brrt ohai jnthn
lizmat hehe... we haz a voice!
brrt you know what was the problem with reprname
.oO( Power to the People! )
nwc10 jnthn++ # UGT for all 08:35
jnthn
.oO( Democracy. That was the problem with reprname. )
08:35 jnthn sets mode: -o jnthn
jnthn brrt: So what was it? :) 08:35
brrt nothing. 08:36
It wasn't compiled under the legacy JIT though
so if the merge_bbs step wouldn't happen, the expr jit would consume it
and it would continue onto compiling p6invokeunder
jnthn oh!
brrt which, as it happens, modifies tc->cur_frame->return_address to *tc->interp_cur_op + 6
as you may or may not know, and for you sanity I hope you don't, but the special JIT invocation bytecode is only 4 bytes wide 08:37
lizmat is building and testing
jnthn I didn't :)
brrt so that will return into a goto NEXT which will read from the bytecode stream and jump into nonsense 08:38
jnthn haha
Wow :)
brrt++ for finding that
brrt which actually explains a great many things, like how we ended up in the strings section of the ELF at some point
jnthn lol 08:39
08:48 samebchase joined 09:23 Kaypie left 09:34 brrt left 09:41 tadzik1 is now known as tadzik 10:01 ZzZombo left, domidumont left, avar left 10:02 avar joined, avar left, avar joined 10:37 p6bannerbot joined, ChanServ sets mode: +o p6bannerbot, huggable joined, ZofBot left, ZofBot joined, p6bannerbot sets mode: +v ZofBot 10:38 SourceBaby joined, p6bannerbot sets mode: +v huggable, Geth joined, synopsebot joined, p6bannerbot sets mode: +v SourceBaby 10:39 p6bannerbot sets mode: +v Geth, p6lert joined, p6bannerbot sets mode: +v synopsebot 10:40 Zoffix_ joined, p6bannerbot sets mode: +v Zoffix_, p6bannerbot sets mode: +v p6lert, ChanServ sets mode: +o Zoffix_, Zoffix_ sets mode: +v avar 10:41 Zoffix_ sets mode: +vvvv hoelzro ilmari lizmat samebchase, Zoffix_ sets mode: +v tadzik, Zoffix_ left 11:00 brrt joined, p6bannerbot sets mode: +v brrt
brrt ohai 11:26
I hit a snag with the invoke-jit thing
lizmat yuck 11:28
:q
oops :-)
brrt the expression compiler will spill to the locals of the frame, because it assumes that its stack frame may be destroyed 11:29
the nativecall-jit-in-non-jitted-code variant on the other hand, will not be able to do that, because the locals array can't be extended 11:30
since that would entail modifying the stack space. I... can probably hack arround that by having a spill policy flag or something
11:31 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 11:41 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 11:43 ZzZombo left 11:44 ZzZombo_ is now known as ZzZombo
brrt or, I can spill-to-stack explicitly, and load-from-stack explicitly, hmmm 11:49
that is essentially the same thing, isn't it
lizmat rubberducks 11:54
11:57 brrt left, domidumont joined, p6bannerbot sets mode: +v domidumont 12:03 Kaypie joined, p6bannerbot sets mode: +v Kaypie 12:52 avar left 12:55 avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 12:57 brrt joined 12:58 p6bannerbot sets mode: +v brrt 13:27 ggoebel joined, p6bannerbot sets mode: +v ggoebel
brrt [Coke]++ posted my grant request, please comment: news.perlfoundation.org/2018/10/gra...-comp.html 14:14
14:28 domidumont left 14:42 lizmat left 14:54 brrt left 15:10 patrickb left 15:22 robertle left 15:37 fake_space_whale joined 15:38 p6bannerbot sets mode: +v fake_space_whale 15:54 domidumont joined 15:55 p6bannerbot sets mode: +v domidumont
timotimo comment sent 16:06
16:07 robertle joined 16:08 p6bannerbot sets mode: +v robertle
timotimo m: say 0.384 / 0.0027 16:15
camelia 142.222222
timotimo m: say 1.9 / 0.0027 16:16
camelia 703.703704
timotimo who wants to know what that is? :P 16:19
jnthn Hopefully a speedup? :) 16:20
timotimo yeah, but an extreme cheat 16:21
jnthn Looks like :P
timotimo my num @a = 1e0..500_000e0; my num @b = 500_000e0...1e0; my num $c = 5e0; my num @out; my $time = now; @out = @a Z+ (@b X* $c); say now - $time; say @out[99]
that's the slowest one
my num @a = 1e0..500_000e0; my num @b = 500_000e0...1e0; my num $c = 5e0; my num @out; my $time = now; for ^500_000 { @out[$_] = @a[$_] + @b[$_] * $c; }; say now - $time; say @out[99]
evalable6 1.835722
2499605
timotimo this one's in the middle
evalable6 0.3862004
2499605
timotimo use nqp; my num @a = 1e0..500_000e0; my num @b = 500_000e0...1e0; my num @c = 5e0; my num @out; my $time = now; nqp::vectorapply(@b, @c, @b, 95, 1, 64); nqp::vectorapply(@a, @b, @out, 93, 0, 64); say now - $time; say @out[99]
this one is very fast :)
jnthn SIMD? 16:24
timotimo yep 16:25
but no actually spelled-out intrinsics
just the C compiler doing it for me
literally a function with a bunch of tight loops that do only one operation either zip or cross 16:26
with checks for sizes and slot types and such
it'd even be faster without simd, i'm sure 16:29
i'm not entirely sure if spesh is currently capable of optimizing multiple occurences of metaops, like having a Z* and a Z+ somewhere
but i haven't actually checked
also, i got a very absurd result where having $c be @c instead, as a 500_000 slot num array with just 5e0 over and over and using @c[$_] in the loop, too 16:30
because it was faster
not in total, only the measured part 16:33
perhaps there's boxing/unboxing in one of the cases, but not in the other 16:34
i have no clue if this has a future at all :) 16:42
16:45 lizmat joined, p6bannerbot sets mode: +v lizmat 17:05 domidumont left 17:36 avar left, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 17:37 p6bannerbot sets mode: +v avar 17:50 fake_space_whale left 18:02 dogbert17 left 18:51 dogbert17 joined 18:52 p6bannerbot sets mode: +v dogbert17 19:06 AlexDaniel left 19:07 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
nine Turns out, when you don't have to pack argument information into flags to pass it on to some C code, the code can become quite a bit simpler. I wonder what that will do for performance 19:19
19:23 robertle left
lizmat :-) sounds cool 19:23
19:45 bartolin left 20:19 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 20:20 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 20:53 Kaypie left 20:56 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 23:13 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 23:16 ZzZombo left, ZzZombo_ is now known as ZzZombo 23:19 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_, ZzZombo__ joined, p6bannerbot sets mode: +v ZzZombo__ 23:20 ZzZombo__ left 23:21 ZzZombo__ joined, p6bannerbot sets mode: +v ZzZombo__, ZzZombo left, ZzZombo__ is now known as ZzZombo 23:23 ZzZombo_ left 23:25 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 23:28 ZzZombo left, ZzZombo_ is now known as ZzZombo 23:48 lizmat left