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
|