github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:00 reportable6 left, reportable6 joined 00:34 lucasb left 03:02 pamplemousse left 04:12 Kaiepi left, Kaiepi joined 06:00 reportable6 left 06:03 reportable6 joined 06:55 lizmat joined 06:56 lizmat left 08:57 lizmat joined 09:30 Kaiepi left 09:34 Kaiepi joined 10:16 lizmat left 11:19 lizmat joined 11:39 brrt` joined 11:47 brrt` is now known as brrt 12:00 reportable6 left 12:04 reportable6 joined 12:11 lizmat left 12:14 lizmat joined 13:31 Kaiepi left, Kaiepi joined 13:52 lucasb joined 13:57 domidumont joined, domidumont left, domidumont joined 14:55 pamplemousse joined 15:02 brrt left
timotimo oh, jnthn, here's that nudge you were asking for, feel free to ping me back when you have time and i'll give you a full explanation of what i discovered 15:49
15:59 pamplemousse left, pamplemousse joined 16:26 lizmat left 16:27 lizmat joined, lizmat left 16:32 Ven`` joined
timotimo AFKBBL 16:39
16:45 Kaiepi left, Kaiepi joined
pamplemousse Wrote a new post on how precompiled modules are stored: yakshavingcream.blogspot.com/2019/...dules.html 17:07
17:07 Ven`` left 17:08 Ven`` joined 17:13 Ven`` left
timotimo great! 17:17
17:17 lucasb left 17:18 brrt joined
pamplemousse Sorry that it's been a hot minute. There's another post that I'd appreciate another set of eyes on to confirm that I haven't misunderstood a step somewhere if anyone would be willing to/ has the time to look it over 17:20
brrt pamplemousse: I have time 17:21
timotimo i myself am way behind on blog posts for my perl foundation grant
brrt there's a pattern there.... 17:22
pamplemousse brrt: Nifty, I'll send a link your way 17:26
brrt ty 17:28
17:43 samcv left 17:48 samcv joined 18:00 reportable6 left 18:02 reportable6 joined 18:17 domidumont left, sena_kun joined 18:19 domidumont joined 18:21 lucasb joined 18:22 zakharyas joined 18:40 domidumont left 18:44 domidumont joined 18:47 domidumont left 18:57 sena_kun left 18:58 zakharyas left 19:42 Ven`` joined 19:46 brrt left
pamplemousse Alright, have another post out! This one steps through how modules get precompiled and how they get loaded: yakshavingcream.blogspot.com/2019/...dules.html 19:50
Sorry for the multiple in one day 19:51
19:56 pamplemousse left
timotimo that's not something to apologize for IMO 20:04
20:07 pamplemousse joined 20:26 pamplemousse left 20:32 pamplemousse joined
timotimo pamplemousse: a detail that's not right, but also not important at all, bindhllsym doesn't influence the actual environment variables themselves 20:57
did you know you can make github links for ranges of lines? you'd put "#L22-L46" for the "determined" link in the first point 20:59
pamplemousse I did not, that is definitely nicer though. I'll start doing that in the future, thanks! 21:00
And thanks for letting me know, I'll correct that
timotimo ooh i got a shout-out \o/ 21:01
pamplemousse Absolutely :) 21:03
timotimo during the last few days i've idly poked at the idea of parsing long lists of "use" statements with nothing in between as one bit, and while another process precompiles the first entry, it'd try finding what path the other modules should be loaded from and "warming up a cache" so to speak 21:06
so that the parent process can do the safe early bits of the work while the precompilation of something else is happening 21:07
and when the precompilation and loading of the first thing is finished, and if the way modules are found or use statements are parsed hasn't been changed, it could re-use that little bit of work that's already been done earlier 21:08
you've been digging in the relevant space a little; does it seem like that'd be sensible?
seems like most of that stuff would be in method "need" of CU::R::I 21:09
maybe calling .candidates early could be a small win 21:14
or perhaps .resolve is the right one? 21:15
pamplemousse I'm not aware of any issues that would conflict with that, which isn't to say there aren't, but that could be interesting 21:19
timotimo "use lib" will change the repo chain, but if the data is cached inside of the entry in the chain that was current before the "use lib" was executed, then perhaps one of the modules in the list doesn't live in that exact lib path and the cache will still be hit 21:20
on the other hand, it'll use a little more memory if there's lots of cache misses
BBL 21:21
pamplemousse o/
discord6 <timotimo> What would undoubtedly be harder but more rewarding... 21:43
<timotimo> Eagerly read the beginning of modules to discover every dependency 21:45
<timotimo> Then try to precompile stuff in parallel
<timotimo> That may never be safe 21:47
21:51 Ven`` left
pamplemousse That would definitely be way more rewarding, but yeah, not so sure on how that would work 21:51
timotimo do it speculatively and be sad if it was wasted effort 21:53
i guess it'd still be worthwhile to have done the dependency graph traversal already by the point it turns out your speculations were right 21:54
but maybe not quite as interesting as i had hoped
pamplemousse cygx: I was taking a look at your p6_freezer and when I tried to use a different module (Date::Names), I got an error on freeze.p6:process():64 that said "No such method 'path' for invocant of type 'Any'". Do you know why that would be? It's not an issue of the module not being there 22:11
Or if anyone else has been playing around with it and has an idea, would appreciate any help. 22:12
timotimo probably something returned Nil or some other failure mode 22:31
22:47 MasterDuke left
timotimo i see what broke update-ops.p6 22:53
bisectable6: my %foo = <hello world how are you today>; my $blep = Map.new(%foo); %foo<hello> = "goodbye"; %foo<how> = "aren't"; my $bloop = Map.new(%foo); say $blep.perl; say $bloop.perl; 22:54
bisectable6 timotimo, Bisecting by output (old=2015.12 new=2a5b642) because on both starting points the exit code is 0
timotimo, bisect log: gist.github.com/7921e575c1dfb001c6...75dad0c5fb
timotimo, (2017-07-09) github.com/rakudo/rakudo/commit/48...7a64427b4e
timotimo now how to get rid of these containers ... 22:55
>>.clone does seem to work at least 22:56
Geth MoarVM: 7d23bd266b | (Timo Paulssen)++ | tools/update_ops.p6
update_ops.p6: properly deeply clone spans data
22:57
timotimo RT #131722 22:59
synopsebot RT#131722 [new]: rt.perl.org/Ticket/Display.html?id=131722 Map and containerization (my %m := Map.new(‘a’, ‘X’); %m<a> = 42)
23:02 pamplemousse left 23:07 pamplemousse joined 23:11 pamplemousse left 23:32 vesper11 left