| IRC logs at
Set by AlexDaniel on 12 June 2018.
00:22 notable6 left, releasable6 left, quotable6 left, linkable6 left, evalable6 left, sourceable6 left, greppable6 left, statisfiable6 left, squashable6 left, committable6 left, bloatable6 left, shareable6 left, bisectable6 left, tellable6 left, benchable6 left, nativecallable6 left, unicodable6 left, coverable6 left 00:23 bloatable6 joined, greppable6 joined, releasable6 joined, sourceable6 joined, tellable6 joined, benchable6 joined 00:24 bisectable6 joined, nativecallable6 joined, statisfiable6 joined, linkable6 joined, notable6 joined, squashable6 joined, coverable6 joined, evalable6 joined 00:25 committable6 joined, shareable6 joined, quotable6 joined, unicodable6 joined 02:38 lucasb left 03:42 frost-lab joined 06:22 Geth joined 07:53 zakharyas joined 08:29 cog left 08:30 cog joined 08:36 cog left
jnthn morning o/ 09:12
lizmat o\
MasterDuke ahoy. anyone else notice this lack of automated checks in any other repos? 09:15
lizmat Github Actions is doing fine for my modules 09:17
or is that not what you meant ?
MasterDuke no checks performed for
09:26 Geth left, Geth joined
lizmat a bit smaller than the SNxx launches: 10:10
10:14 patrickb joined
nine But not a bit less exciting :) 10:33
lizmat wishes for fewer stupid questions over and over again 10:39
nine Whether they're stupid or not is probably debatable. Fact is that most can be answered with a minute of using an internet search engine... 10:42
lizmat well... I guess... 10:43
what the github ? 10:47
nine So much about the versatility of Github for non-solution finding topics ;) 10:51
timotimo very cool to see 10:58
imagine what nasa could do if they had a little bit of money 11:00
lizmat well, for starters, get more bandwidth between Mars and Earth 11:02
that's a far cry from the 500Mbit I used to watch the stream :-) 11:04
timotimo why don't they lay some fiber 11:11
.oO( fiber around the sun )
timotimo fiber to the moon, and let me stream among the stars, and let me know what reception is like on jupiter and mars 11:28
.oO( Timo Sinatra )
timotimo si, si. 11:31
11:44 zakharyas left 12:31 frost-lab left 13:26 zakharyas joined
lizmat and yet another Rakudo Weekly News hits the Net: 13:38
jnthn lizmat++ 13:55
MasterDuke m: my int $i = 9223372036854775295; my num $n = $i; say $n; my Num $N = $i.Num; say $N; say $n == $N     # nwc10 is this related to what you've been working on? 14:04
camelia 9.223372036854775e+18
MasterDuke m: use nqp; my int $i = 9223372036854775295; my num $n = $i; say $n; my Int $I = 9223372036854775295; say nqp::tonum_I(nqp::decont($I)) 14:07
camelia 9.223372036854775e+18
MasterDuke i believe 14:09
yep, it's mp_get_double 14:10
i wonder if my gmp branch gives a different result
patrickb MasterDuke: The gmp branch is basically blocking on gitting the build on MSVC running, correct? 14:13
MasterDuke yep 14:15
patrickb :-( Need more man-power.
MasterDuke i think i have some tabs open with relevant documentation, maybe i'll give it a go after a bunch of the current PRs i'm working on get merged or closed 14:21
patrickb Do you have a Windows machine? 14:22
MasterDuke not really. my wife's laptop is windows, but i don't want to use hers. i think you can get trial windows 10 vms or something like that? 14:24
patrickb masterduke: give me a shout when you start working on this. I'll see what I can do. 14:25
MasterDuke k, thanks
14:26 MasterDuke left 14:28 MasterDuke joined 15:15 zakharyas left 15:24 zakharyas joined 16:17 patrickb left 16:32 Kaeipi is now known as Kaiepi
dogbert17 so what kind of things can spesh do if a program is run with MVM_SPESH_INLINE_DISABLE=1, MVM_SPESH_OSR_DISABLE=1 and MVM_SPESH_PEA_DISABLE=1 ? 17:22
jnthn Quite a lot. Eliminate type checks, link candidates directly, lots of lowerings, optimzie based upon spesh plugins. And JIT. 17:30
[Coke] (MSVC build, windows) I probably can help there, but don't have a lot of Raku shaped cycles. 17:39
MasterDuke [Coke]: the problem is getting to build on windows. at this point i know so little there's nothing i can just ask you to test 18:04
whoops, the num -> int coercion is even more broken on the jvm 18:05
r: use nqp; my int $i = 9223372036854775295; my num $n = $i; say $n; my Int $I = 9223372036854775295; say nqp::tonum_I(nqp::decont($I)) 18:06
[Coke] no promises on time line, but I will look at it eventually.
camelia 9.223372036854775e+18
MasterDuke [Coke]++
nine In the "parameter '$bytes'; expected Blob but got Supplier::Preserving" case, I've gutted spesh down to just optimizing hllize, decont, findmeth and speshresolve. Any bets on which of these optimizations is the cause? 18:12
nwc10 you know the answer? Or your asking for sort-of-help?
nine I actually meant it quite literally :D But help would of course be appreciated, too, as I don't know the answer yet 18:13
timotimo is this the right spot to start the spesh bisect tool? 18:15
nine I already know that it's Spesh of 'pipe' (cuid: 16394, file: SETTING::src/core.c/Proc/Async.pm6:142 18:16
MasterDuke the jvm version of tonum_I is just`return getBI(tc, value).doubleValue();`. i'm surprised that's incorrect 18:17
nine nwc10: btw. thanks for making it so easy to disable hash randomization. Makes debuggin spesh a lot easier
nwc10 I didn't do anything *amazing*. I just kept a feature of the old code.
nine But IIRC in the old code one had to make 2 changes. And I never could remember in which file 18:18
nwc10 OOOOH, there's still something that Perl 5 does better... 18:19
Use of uninitialized value of type Any in numeric context in block at /home/nick/test/powfrom.p6 line 77
Perl 5 would have told me the array name. 18:20
I don't think that it would have told me more than that
I wrote: unless $would-score < @score[$pow] // 999;
I meant: unless $would-score < (@score[$pow] // 999);
but I would have got better diagnostics in Perl 5 18:21
nine steal it!
When you think it can't get any more mysterious... the exact same command that gives me that error every single time in the one terminal window succeeds every time in the other window 18:22
nwc10 To "quote" my daughter "beschäftigt" but I don't think that there's yet an emoji for this - she would declare this with a hand presented palm-forwards with the thumb across the palm
nine: Address randomisation, whatever it's called? 18:23
sip hash is also salted - you might need to stop that?
nine There's nothing random about this. It's a 100 % success vs. 100 % failure 18:24
[Coke] not something silly like different path?
(or env vars?)
nine exact the same path. Almost the same env vars, except for BASH_REMATCH, COMP_WORDBREAKS, GPG_TTY, KONSOLE_DBUS_SESSION, PIPESTATUS and SHELL_SESSION_ID 18:26
18:27 zakharyas left
nine If you want to bet, the stakes just got raised. decont seems to be only involved for its propagation of spesh facts 18:28
Which suits me as my guess was speshresolve from the start 18:29
MasterDuke yup, on gmp branch i get 9.223372036854775e+18 for both 18:40
dogbert17 nine: I'm sure you already know that the t/spec/S17-supply/return-in-tap.t problem is not due to inlining, pea or OSR. 18:47
jnthn: thx for explaining this, much appreciated
nine dogbert17: I didn't _really_ know as that problem is so elusive
dogbert17 I did a run with all three flags set and it did fail in the usual manner after some time 18:49
nine nice
MasterDuke interesting. my speedup_exponentiation_by_positive_Ints rakudo branch is only 0.2s faster than rakudo master when moarvm is on the gmp branch
it's faster than moarvm master/rakudo master, but slower than moarvm master/rakudo speedup_exponentiation_by_positive_Ints 18:50
nine Yeah, it's definitely speshresolve 18:51
dogbert17: can you try a run with the case MVM_OP_speshresolve: block commented out in src/spesh/optimize.c line 2794? Maybe at least return-in-tap.t and cur-candidates.t share the same bug 18:53
MasterDuke just force pushed the gmp branch, but it's just a rebase up to master 18:54
timotimo nine: i think different env vars can cause butterfly-effect-like changes throughout the memory layout?
nine timotimo: definitely. I've seen that. What's so odd bout this case is that it doesn't seem to care about other env vars. I can add them to the command line or leave out ones like MVM_SPESH_LIMIT 18:55
Though I haven't really done a thorough test as it'd only be a distraction
timotimo want to try rr's chaos mode maybe? 18:57
nine And I'd think that disabling all these spesh opts individually would have quite some effect on memory layout. But it's perfectly consistent
nwc10 in NQP, what's the most space efficient way of storing 309 values in the range 0-255 ?
(actually 0-16)
"a string" ?
timotimo hm, well, the spesh allocator allocates in very big chunks and frees them in groups as well 18:58
and while spesh is working, the thread will usually not do malloc for anything else so that's consistent, too, i think? maybe all these allocations even go directly to mmap because of their size?
nine nwc10: that or create a native array type 18:59
timotimo yeah check the tests for how that is done, it's potentially also used somewhere else already 19:00
nwc10 I can't spot code in NQP that creates bufs
nine nwc10: see t/nqp/102-multidim.t line 119
nwc10 I am fail
erk, that looks complex. 19:01
nine nwc10: oh, much better: t/moar/13-writeint.t
nwc10 is there an efficient way to represent initialising this in NQP source code? 19:02
basically I have a 309 value lookup table.
nine nwc10: I knew you would need that so I implemented the array_type trait for NQP classes back in 2018 8)
nwc10 dammit, you and your time machine.
OK, so `nqp::atpos_i($buf, $i)` seems to be how to read a value 19:03
I'm not sure how to generate the initialiser
nine Lots of bindpos_i I guess
nwc10 that's a bit pants
I'd prefer something that ends up as a blob in the compiled NQP source. So a string might actually be the way to go 19:04
nine If you do the bindpos at BEGIN time, the array will be written to to the precomp file 19:05
timotimo hm, we can't serialize a 8bit unsigned integer array?
nwc10 oh my, there aren't many tests for BEGIN in nqp
nine Welcome to the underground! Remember, you can always edit bytecode files directly 19:06
nwc10 I might defer playing with this until tomorrow. ie "Morgen". which I'm sure always translates as "morning" :-)
I'm not that crazy. Yet. 19:07
but thanks for the BEGIN hint
and technically I'm both slow and off-topic, but my understanding was that editing/generating bytecode directly was Twisted. 19:08
lizmat well... changing bytecode at runtime isn't ? :-) 19:09
nine nwc10: it does. Capital M is "morning", lower case m means tomorrow
japhb adds another mental entry to "ways human languages are weird" 19:26
dogbert17 nine: will give it a shot 19:28
lizmat FYI: 19:29
dogbert17 nine: unless I messed up and misunderstood your instructions (quite possible) the error is still present 19:36
nine darn
dogbert17 I removed everything from (inclusive) - case MVM_OP_speshresolve: to (inclusive) the break; before the nect case, i.e. MVM_OP_islist: 19:37
19:39 Kaiepi left, Kaiepi joined
nine Oh, even speshresolve might be a victim here. One of bad facts 19:48
How we got that wrong fact though would be much easier to find out if the bug didn't appear when run in gdb or rr 19:49
20:03 ChanServ sets mode: +o jnthn, jnthn sets mode: +b mst!*@* 20:04 zakharyas joined, mst was kicked by jnthn (mst)), ChanServ sets mode: -o jnthn 20:26 lucasb joined
timotimo nwc10: you're perhaps already aware of the difference between "umfahren" and "umfahren"? 20:35
nwc10 no. please fill me in
timotimo well, one means "drive around" or "circumnavigate", the other means "run over" 20:37
the difference is in whether you stress the first or the second part 20:38
nwc10 thanks. I was struggling
it's an ASCII joke!
20:38 chansen_ joined
timotimo you mean because ascii doesn't have encoding for stress in spoken words or something? 20:39
japhb And here I thought my old anecdote about the sales manager that couldn't pronounce their VP's name and kept calling them dog kibble was good, but damn.
nwc10 yes, something like that
timotimo hm, what's that, doc kimble or something? 20:40
that reference doesn't seem to want to resolve for me
MasterDuke re "Morgen", is the capital pronounced, or do you just know from context when spoken aloud? 20:41
nwc10 context 20:42
and it might be ambigous
timotimo: as to kibble, search for it in 20:43
I don't think that I can link to the line number
and it's a comment, so it doesn't get rendered
timotimo not with raw, no 20:44
oh, i know what kibbles are
i don't know why a sales manager's vp would be called something like that 20:45
japhb No, it was a real thing that I watched in my first job, and it was the translation of what she was saying instead of his name. Sitting at the bottom of the chain of command, I used to get amused watching the sales VP bug out whenever she did that, but wouldn't say anything because she was dating his boss's boss. Years later that bit of schadenfruede turned into an appreciation of how important it is to 20:46
get people's names right, or rather to call them what they wish to be called. I've worked with people who were happy I put so much effort in, and people who plainly stated I would never get it right and to call them by a nickname instead.
His last name was "Fröhlich". Apparently if you get that first vowel wrong, it's a brand of dog kibble instead. 20:47
timotimo oh, frolic
lizmat which would be the Dutch pronounciation :-) 20:49
not sure what the significance is of that :-)
[Coke] I have a coworker that I've worked with at 3 different companies. wasn't until about a year ago he told me I've been saying his name wrong for a decade. 20:50
japhb OUCH
[Coke] (stress on the wrong syllable). I do try in most cases (esp. now!) to ask what people want to be called and try to follow through. 20:51
... and now if I try to think about it too much I can't remember which is the right syllable. :)
japhb Oof.
20:58 dogbert11 joined 21:00 dogbert17 left 21:04 zakharyas left 21:25 lizmat_ joined 21:28 sena_kun left, lizmat_ is now known as lizmat 21:32 sena_kun joined 21:38 dogbert17 joined 21:42 dogbert11 left, sena_kun left 21:43 sena_kun joined 22:11 sena_kun left
Geth MoarVM: MasterDuke17++ created pull request #1474:
Use correct size for size argument to write()
ugexe `static MVMint64 write_bytes` is that correct now that its returning a size_t? 22:41
moon-child considering size_t is unlikely to ever be greater than 64 bits, it's unlikely to be _incorrect_ 22:46
MasterDuke but yeah, good catch, also changing send() now... 22:47