github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:21 geekosaur left 00:22 geekosaur joined, p6bannerbot sets mode: +v geekosaur 00:23 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 00:24 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 00:25 leont left 00:36 buggable left, buggable joined 00:37 p6bannerbot sets mode: +v buggable 01:09 fake_space_whale left 01:20 Chojin_ joined, Chojin_ left 01:28 ZzZombo left 01:29 zakharyas joined 01:30 p6bannerbot sets mode: +v zakharyas 01:55 bachler27 joined, bachler27 left 02:20 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 04:44 lizmat left 05:54 asdf123 joined, asdf123 left 05:58 Pheimors joined, Pheimors left 06:19 robertle joined 06:20 p6bannerbot sets mode: +v robertle 06:29 domidumont joined 06:30 p6bannerbot sets mode: +v domidumont 06:43 TheCycoONE9 joined, TheCycoONE9 left 07:27 patrickb joined, p6bannerbot sets mode: +v patrickb 08:03 robertle left 08:05 robertle joined 08:06 p6bannerbot sets mode: +v robertle 08:19 Jeebiss0 joined, Jeebiss0 left 08:23 robertle_ joined, lizmat joined, p6bannerbot sets mode: +v lizmat, p6bannerbot sets mode: +v robertle_ 08:24 robertle1 joined, p6bannerbot sets mode: +v robertle1, robertle left 08:33 domidumont left 08:34 domidumont joined 08:35 p6bannerbot sets mode: +v domidumont 08:55 Enzime28 joined, Enzime28 left 09:04 oshogbo18 joined, oshogbo18 left 09:12 zakharyas left 09:55 brrt joined 09:57 brrt left, brrt joined 09:58 p6bannerbot sets mode: +v brrt
brrt \o #moarvm 09:59
samcv++ AlexDaniel++ #release
lizmat brrt o/
brrt ohai lizmat
brrt wants to start pressing merge buttons
lizmat can't wait 10:00
but is busy to do the P6W
dogbert2 lizmat: wouldn't it be nice if jnthn's opts came out before you released the weekly 10:06
where is jnthn btw?
lizmat indeed
.seen jnthn 10:07
yoleaux I saw jnthn 20 Sep 2018 22:40Z in #moarvm: <jnthn> But the C stack tells exactly where, as you found :)
lizmat I guess he's busy :-)
dogbert2 almost certainly
it will be very interesting to see what will happen to the [Tux] benchmark 10:08
Geth MoarVM: bdw++ created pull request #969:
Postrelease opts
10:10
10:13 ZzZombo left
dogbert2 brrt++ 10:15
brrt I don't think nine++'s work will be merged just yet
but I do want to do a review of postrelease-opts first
dogbert2 that will take quite a bit of time I guess 10:17
10:35 jnthn is now known as jnthn-nomsg
nwc10 :-) 10:36
jnthn-nomsg I'm alive. I'll be back to Perl 6 stuff soon, maybe later today :)
Or tomorrow if not :)
nwc10 you have coffee?
jnthn-nomsg Yes. Had a busy weekend afk and currently a few work things to catch up on :)
brrt I'd assume that fall under the definitoin of 'alive' 10:37
:-P
nwc10 good. beer fridge is also fine?
jnthn-nomsg :P
It is :)
nwc10 \o/
jnthn-nomsg brrt++ for the PR for postrelease-opts; that way it might got some review other than my own look over it before it's merged :) 10:38
10:46 leont joined 10:47 p6bannerbot sets mode: +v leont 10:53 brrt left 11:05 thatgraemeguy23 joined, thatgraemeguy23 left
robertle1 I am playing around with some benchmarks as well (github.com/robertlemmen/p6bench) and in these the postrelease-opts branch gives me a whopping -15% runtime, very cool. interestingly the biggest winner is the "mandelbrot" benchmark which is pretty simple and the "smallest" of these, also mostly deals with Num operations 11:14
11:24 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo
lizmat robertle1: do you see any spectest failures ? 11:42
robertle1 lizmat: didn't look specifically... 11:44
dogbert2 lizmat: I don't think there are any spectest failures left in postrelease-opts 12:04
12:07 erratum left
lizmat then who will push the "merge" button? 12:12
dogbert2 brrt or jnthn-nomsg I guess 12:16
timotimo robertle1: are you using Complex for your code, or handling pairs of Nums manually?
jnthn-nomsg Num box/unbox to num got quite a bit faster, which probably helps :) 12:18
My own spectesting of postrelease-opts came back clean multiple times in a row 12:19
timotimo pea ought to help a whole lot with things like arithmetic on Complex objects 12:21
jnthn-nomsg Aye 12:22
12:23 zakharyas joined, p6bannerbot sets mode: +v zakharyas
robertle1 timotimo: pairs of Nums manually, I wanted to avoid rats in this case as I have a separate benchmark for them 12:25
timotimo complex doesn't use Rat to my knowledge 12:27
m: say (0+0i).re.^name
camelia Num
robertle1 yeah, I was just wondering where I got the idea from that a complex is two rats... I guess I should use a complex then! 12:28
AlexDaniel releasable6: next 12:39
releasable6 AlexDaniel, Next release in ā‰ˆ26 days and ā‰ˆ6 hours. 0 blockers. Changelog for this release was not started yet
AlexDaniel, Details: gist.github.com/7e167a6de57c8a63e0...48104b34e3
AlexDaniel fwiw I can quickly bisect specific modules, but not the whole ecosystem just yet 12:41
Whateverable needs a little change before that will be possible
12:52 leont left
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/09/24/...-than-two/ 13:07
13:07 zakharyas left 13:08 Corben782 joined, Corben782 left
dogbert2 lizmat++ (weekly) 13:18
13:28 avar left, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 13:29 p6bannerbot sets mode: +v avar 13:31 Yamakaja17 joined, Yamakaja17 left 13:33 a--m24 joined 13:34 a--m24 left 13:48 sto1 joined, sto1 left
Geth MoarVM/master: 69 commits pushed by (Jonathan Worthington)++, (Timo Paulssen)++, MasterDuke17++, (Bart Wiegmans)++
review: github.com/MoarVM/MoarVM/compare/e...ba2e1fbf64
14:19
dogbert2 .oO 14:24
is lizmat still around 14:25
lizmat am again
ah, it got merged :-)
dogbert2 :-) 14:26
lizmat is someone busy bumping versions?
dogbert2 don't think so ...
lizmat ok, then I'll do it 14:30
dogbert2 yay
lizmat confirm spectest ok with me too 14:45
jnthn-nomsg Phew :)
CORE.setting builds should be slightly faster also :)
14:47 domidumont left
lizmat yeah, maybe 1~2 seconds ? 14:53
jnthn-nomsg Yup, that's what I see 14:54
lizmat weekly: news.perlfoundation.org/2018/09/per...nat-4.html
notable6 lizmat, Noted!
15:25 fake_space_whale joined 15:26 domidumont joined, p6bannerbot sets mode: +v fake_space_whale, p6bannerbot sets mode: +v domidumont 15:28 domidumont1 joined 15:29 p6bannerbot sets mode: +v domidumont1 15:30 domidumont left 15:41 patrickb left
jnthn-nomsg I'll be back tomorrow, with some tuits :) 15:58
15:58 jnthn-nomsg is now known as jnthn 16:03 norlevo9 joined, norlevo9 left 16:18 robertle1 left, robertle_ left 16:29 Zoffix joined, p6bannerbot sets mode: +v Zoffix 16:39 fake_space_whale left
Zoffix In Perl 6 6.d you're now able to harness the Power of The Atom! Thread-safe atomic operations on a new atomicint type! marketing.perl6.org/id/1537803105/pdf_digital 16:46
16:48 Kaiepi joined 16:49 p6bannerbot sets mode: +v Kaiepi 16:50 Zoffix left 16:55 frikinz24 joined, frikinz24 left 17:02 luk3yx8 joined, luk3yx8 left
[Coke] Zoffix++ 17:14
17:23 domidumont1 left 17:33 strugee23 joined, strugee23 left 17:38 patrickb joined 17:39 p6bannerbot sets mode: +v patrickb 17:47 domidumont joined 17:48 p6bannerbot sets mode: +v domidumont 17:49 brrt joined 17:50 p6bannerbot sets mode: +v brrt
Geth MoarVM/fork-safety: 12 commits pushed by (Bart Wiegmans)++
review: github.com/MoarVM/MoarVM/compare/f...d843ff6916
17:53
timotimo just a rebase? 17:54
brrt yes, thats a rebase 17:56
with a fix for the ops order
that was why I had it in the first place :-0
timotimo if i order ops now, when will they be shipped? 17:57
brrt soon 17:58
but all ops are being dropshipped
anyway.... I'm of a mind to push the merge button on fork-safety as well
timotimo it wouldn't bother me 17:59
brrt :-)
Geth MoarVM/master: 13 commits pushed by (Bart Wiegmans)++
review: github.com/MoarVM/MoarVM/compare/d...33c34a1bc6
18:04
brrt hmm, hang on..... minor bugfix 18:06
Geth MoarVM: db11d5f4d1 | (Bart Wiegmans)++ | src/io/eventloop.c
[IO] Eventloop threadcontext variable oops
18:11
18:16 luigi1111w27 joined, luigi1111w27 left 18:52 AlexDaniel left 18:53 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 19:08 domidumont left
nine brrt: congratulations! 19:25
brrt thanks nine :-) 19:28
hows the mbc branch coming along
nine Seems like I lost my inertia a bit. My initial idea for where speedups will come from turned out to be wrong. I can't get a useful profile of the code and without data it's hard to tell how to get to Profit. 19:30
brrt hmmm 19:31
that hurts
oh hey, I found a way to make fork() deadlock, it seems 19:34
nine like...an inverse fork bomb?
brrt something like that 19:36
something to do with gc, it seems 19:37
yeah, something funny with gc 19:40
I'll have to investigate a bit more
nine I guess what I really have to find out is if I can write a frame's bytecode while traversing the QAST. If I can do that this would save all those allocations of small buffers for the individual ops as well as the time for merging them. 19:44
And to find that out, all I think I really have to do is figure out if I can compile MAST::Calls directly where they are created rather than later on. For MAST::Ops I already know that this works and in fact those objects are no longer created at all. 19:46
19:47 brrt left
diakopter I suspect it's possible.. might need to create some things to track routine- and module-level state to pass around though 19:48
ISTR I wrote some very deep magic in injecting coercions.. perhaps way too much deep magic. 19:50
also it's tied to the regex compiler somewhat deeply 19:51
on that note, I wouldn't be at all surprised to learn there are vast inefficiencies uselessly added by that compiler stage 19:52
runtime inefficiencies, I mean 19:53
19:54 MasterDuke left
lizmat smells opt opportunities 19:54
nine I don't think many people have dared really touch this code :)
diakopter jnthn wrote the first third of those two huge files, then I wrote the second two-thirds, then he went back and fixed a bunch of it... but yeah 19:55
QASTCompilerMAST.nqp and QASTOperationsMAST.nqp and QASTRegexCompilerMAST.nqp I mean. 19:59
github.com/perl6/nqp/blob/master/s....nqp#L1446 20:00
^ this is hilarious
20:05 brrt joined
diakopter nine: you realize much of this compilation style was cribbed from Parrot? :) 20:05
20:05 p6bannerbot sets mode: +v brrt
nine Wow! Getting rid of MAST::Call was so very much easier than I thought it would be 20:05
diakopter: I've glimpsed a bit of that in the git history :) 20:06
diakopter in fact many of the regex compiler routines, I transliterated directly from Patrick's original bootstrap in PIR, even reusing variable names
(such as bstack and cstack) 20:08
the regex compiler forced the early implementation of the jumptable instruction, ah... fond memories 20:10
nine In other words, we really shouldn't treat this code as perfectly designed and optimized but rather as a first draft that does the job?
brrt notes that the JVM has a similar instruction
diakopter omg yes, that code should be Captain Marvel'd to bosons 20:11
samcv i'm not sure how to inject a BOM when writing a utf16 file in moarvm 20:16
i mean we really just assume we are writing the bytes we're asking for. hm
brrt BOMs are evil... 20:18
samcv :) 20:19
i mean. we could do it on rakudo side. but they we have to check our position each time we write and if we're at the start of the file then we need to add it
diakopter filesystems are evil. network communication protocols are evil. instruction sets are evil. languages are evil. :)
japhb
.oO( Daemons, strangely, are not evil. )
20:21
lizmat samcv: at least in MoarVM, an "unless $fh.tell" could be very fast
diakopter samcv: adding one check per write doesn't sound too bad..
japhb diakopter: I'm assuming you have tongue firmly in cheek on that one ... 20:22
lizmat I think diakopter forgot grammars
diakopter actually no, but yes I am assuming it can automatically be optimized/JITted down to branchless code... lol
I mean you either have a check with every write, or routines swapped in with the check partially-evaluated/optimized away 20:24
samcv i still don't like it 20:25
japhb diakopter: I've half a mind to suggest that open-for-write-with-truncate for utf-16 should write the BOM before returning the handle, and *nothing else should even check*.
Apparently that was the half that controlled the keyboard access. ;-)
diakopter sure, or just add another layer of buffer that does that 20:26
what's another buffer
japhb >.<
brrt actually, japhb, that's not so bad idea
it is a file output thing after all 20:27
japhb Right. (write?)
brrt it doesn't apply on networks, or on any other thing 20:28
japhb Nodnod 20:29
timotimo so opening a file and closing it immediately would give you a 2 byte big file?
japhb timotimo: *If* you opened it utf-16, yes. 20:30
brrt and possibly utf-16-with-byte-order-mark
japhb If you want to truncate to 0 bytes, use literally any other encoding.
timotimo i suppose you're opting in to madness at that point already
japhb brrt: OK, fair, yes.
timotimo: :-)
brrt either that or have a flag on the handle (in perl6 land even, maybe) 20:31
diakopter or upon closing if you've never written to it, delete it if it created it?
lizmat I guess a flag could be set on the handle to truncate the file if no specific bytes were written? 20:32
when you close it, I mean ?
Geth MoarVM/nqp-mbc: 5 commits pushed by (Stefan Seifert)++
timotimo :enc("utf16abomination")
diakopter ā˜ƒ 20:33
šŸ’£
timotimo 0xFFull looks very funny
20:33 patrickb left
japhb What I definitely want to avoid is exporting the cost of BOM management to everything else; I'm going on the principle of "the complex thing can be expensive, the simple things should be cheap" 20:34
lizmat
.oO( open( $file, :šŸ’£ ) )
nine Now there's only MAST::Label, MAST::Annotated and MAST::HandlerScope left. Those I will have to change all in one go since they need the current position in the bytecode. But other than that I don't see any difficulty.
japhb
.oO( Oh man, I am SOOOO 0xFFull! )
brrt japhb: we need more of that in perl6 :-)
japhb lizmat: Heh
brrt nine++
japhb nine++ # Good progress! 20:35
nine brrt++ # getting me back on track instead of playing some Wing Commander III
diakopter The price of freedom is eternal vigilance
oh that's Wing Commander IV, sorry 20:36
japhb I think my Wing Commander floppies have all literally bitrotted. I'm not even sure I have a machine still with a floppy drive, and this from someone known to hoard old equipment.
lizmat japhb: you can still get USB floppy-drives pretty easily 20:37
although you might need a USB -> USB-C adapter nowadays :-)
japhb lizmat: Really? I had no idea. I guess it's needed for people trying to recover old data that didn't migrate to new machines.
brrt had no idea, either 20:38
lizmat indeed. I have one in my drawer
japhb I've heard though that most floppies from the 80s and even 90s are nigh-unreadable now.
(Haven't tried it myself.)
diakopter japhb: I had to use a USB floppy earlier this year to recover an ancient Windows 2008 server with the boot recovery disk
lizmat FWIW, It's been a while since I tried oe
japhb Wowzers.
diakopter 2008 is ancient, yes.
nine diakopter: I would actually like to play some WC IV but there's some issue with the GOG version on wine and I can't find the plain DVD version anywhere
diakopter also, ebay's got it :) 20:42
timotimo when i was little i enjoyed WC Prophecy a whole lot 20:43
20:44 TypX25 joined, TypX25 left
brrt has a disk of Age of Empires that won't work anymore 20:45
20:51 Guest55510 joined, Guest55510 left 20:54 webusr19 joined, webusr19 left 20:55 mst is now known as mSt 20:56 mSt is now known as mst
brrt I'm wondering if there is something I'm doing really wrong, or if there is something that is broken about rapid starting and stopping of threads in general 20:59
lizmat brrt: perhaps you've uncovered a gremlin ? 21:02
brrt we'll see 21:08
there's a circular linked list in tc->instance->threads, that is .. suspect 21:12
that's odd, nobody else called MVM_threaed_cleanup_threads_list 21:14
diakopter I think that might be old 21:15
brrt yeah...
okay i'll have to investigate that further 21:16
but i'll do that tomorrow
diakopter who is cry.nu
brrt damn... fork still doesn't work :-(
samcv 21:17
21:21 brrt left
samcv hey 21:22
yeah that's my site
21:49 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
timotimo set r17(15), r17(39) # used to guard for BOOTArray 22:21
^- probably a useful comment
23:09 ilogger2 joined 23:10 p6bannerbot sets mode: +v ilogger2
Geth MoarVM: 08675c0ccb | (Timo Paulssen)++ | src/spesh/optimize.c
spesh comments: de-typed guards, lex_known, spesh plugins
23:12
23:19 leedo joined 23:20 p6bannerbot sets mode: +v leedo