|
Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes. Set by lizmat on 24 May 2021. |
|||
|
00:02
reportable6 left
01:04
reportable6 joined
02:04
evalable6 left,
linkable6 left
02:06
linkable6 joined
02:07
evalable6 joined
03:07
evalable6 left,
linkable6 left
04:07
evalable6 joined
04:09
linkable6 joined
06:02
reportable6 left
|
|||
| Nicholas | good *, * | 06:53 | |
|
08:05
reportable6 joined
08:45
discord-raku-bot left
08:46
discord-raku-bot joined
|
|||
| MasterDuke | jnthnwrthngtn: if you haven't already seen, github.com/rakudo/rakudo/issues/4662 looks like it might be up your alley (involves samewith, but is not spesh/jit related) | 09:18 | |
| jnthnwrthngtn | moarning o/ | 10:53 | |
| Nicholas | \o | 10:54 | |
| jnthnwrthngtn | Ahh...just the winter weather I like. Sunny and cold. | ||
| lizmat | here, it's just cold :-( | ||
| jnthnwrthngtn | MasterDuke: Yes, noticed it, no immediate guesses, will have to dig a bit | ||
| MasterDuke | cool | 10:56 | |
| jnthnwrthngtn | (Although probably today is going to be a bit meeting-filled...) | ||
| Nicholas | "meetings, the pratical alternative to lunch" - hopefully not across lunchtime | 10:57 | |
| jnthnwrthngtn | Well, only if I don't lunch early enough :) | 11:02 | |
| Which happened earlier in the week | |||
| oh, it's samewith...OK, that's the one that doesn't use resumption | 11:09 | ||
|
11:10
evalable6 left,
linkable6 left
|
|||
| jnthnwrthngtn | I wonder if it could be already fixed by nine++ work on region boundary handling | 11:11 | |
| MasterDuke | github.com/MoarVM/MoarVM/pull/1611? | 11:13 | |
| jnthnwrthngtn | ano | ||
| *yes | |||
| Worth a try, at least. | 11:14 | ||
| MasterDuke | oh, that may indeed fix it | ||
| jnthnwrthngtn | Today's lunch is leftovers from last night's Korean takeaway, carried to work in my backpack along with a headset for the meetings...which now smells of delicious Korean noms. | 11:18 | |
| timo | i just re-discovered the talk from emery berger where he presented coz, but he also presented stabilizer | 11:20 | |
| the takeaway was that random changes in memory layout had as much impact on some cases he'd encountered as going from -O2 to -O3 | |||
| so stabilizer re-randomizes layout of stuff every 0.5 seconds while doing benchmarking, so that there's no particular choice of layout that's effecting your result too much, and you'll end up with a normal distribution | 11:21 | ||
| unfortunately, stabilizer no longer compiles %) | |||
| moon-child | yeah, that was great. There was one anecdote: a program was faster when run by one user than another, because the longer username went into the environment and changed the stack alignment | 11:22 | |
| timo | indeed | ||
| jnthnwrthngtn | That's mildly horrifying :) | 11:23 | |
| timo | isn't it | ||
| moon-child | in-order, cacheless CPUs are still there! | ||
| MasterDuke | jnthnwrthngtn: yep, with fix_unwind_missing_frame checked out, the example program finishes for 2k lines of input (though with massive memory growth, 3k got killed by the oom killer) | 11:24 | |
| timo | cacheless is not great, since we'll get too far from actual real-life performance, right? | 11:26 | |
| we'll want to get performance improvements by making structures smaller, making memory access patterns more predictable or reducing our working set size etc | |||
| MasterDuke | timo: have you tried using coz on moarvm? | 11:27 | |
| timo | yes, it did not do much, unfortunately | ||
| moon-child | timo: was not a serious suggestion. But such cores have very uniform performance characteristics, _if_ you stick to them :) | ||
| timo | coz works best when there's multiple threads doing stuff and there's some contention / waiting / synchronization and it can tell you by how much the whole gets faster if you make one particular piece faster | 11:28 | |
| if we only do what coz does at the C level, we're not going to see a lot | 11:29 | ||
| we'd really want to apply the coz instrumentation at the bytecode level, and also make it appear in the jitted code so we don't just miss that | |||
| jnthnwrthngtn | Is coz the..hmm..was it causality-based profiling or some such? | 11:30 | |
| timo | that's right | ||
| the example he gave first for "take profile, make the code that runs for the longest time, go faster" would make the "loading..." label flash/animate faster | 11:31 | ||
| so with coz, it'd randomly make that faster and see it does nothing for the overall | |||
| then it'd make something else faster and it'd see that effect hits 100% (in a simple example, of course) | 11:32 | ||
| "make something faster" being implemented as "penalize the execution of everything else active at the same time by some amount" | |||
| we can make our own super-cut-down stabilizer knock-off by using alloca with a random number in moar's main function | 11:36 | ||
| jnthnwrthngtn | I can imagine what you'd do with the coz output, but what concrete actions can you take from the stabilizer one? | 11:37 | |
| timo | make your measurements more reliable for "i actually made it faster" vs "changes in code size and alignment and whatever random factors made it faster" | 11:38 | |
| running a thing 50 times to make the measurement better was likened to getting a survey by asking the same person 50 times | 11:39 | ||
|
11:40
Altai-man joined
|
|||
| MasterDuke | i thought Nicholas had an open PR to make disabling hash randomization an env variable, but i don't see it. was i imagining that? | 11:42 | |
| timo | we do get rid of things like thermal differences (hopefully, probably have to sleep a few seconds in between executions), and other parts of the system activating during runtime, stuff like that | ||
| jnthnwrthngtn | MasterDuke: I don't remember a PR, just a discussion about it | 11:43 | |
| timo | i tried the obvious thing once, it immediately crashed ... | 11:44 | |
|
12:02
reportable6 left,
patrickb joined
12:11
evalable6 joined
12:13
discord-raku-bot left,
discord-raku-bot joined
|
|||
| nine | jnthnwrthngtn: I've learned the hard way to double package all food I carry in my backpack. | 12:15 | |
| timo remembers an incident involving coleslaw | 12:16 | ||
| nine | timo: yes, running a thing 50 times is like asking the same person but in different situations. | 12:19 | |
| Nicholas | "are we nearly there yet?" "are we nearly there yet?" "are we nearly there yet?" "are we nearly there yet?" ... | 12:41 | |
|
13:13
linkable6 joined
|
|||
| Nicholas | or, I guess, "who's chancellor?" | 13:14 | |
| nine | Nicholas: more like: "Who's today's chancellor?" | ||
| Nicholas | "this week" | ||
| I realise also that "Who is foreign minister?" is an ABA problem | 13:15 | ||
|
13:48
frost left
14:03
reportable6 joined
16:10
gfldex left,
discord-raku-bot left
18:01
Altai-man left
18:02
reportable6 left
19:03
reportable6 joined
20:53
discord-raku-bot joined
20:55
discord-raku-bot left
20:57
discord-raku-bot joined
21:03
gfldex joined
21:44
CaCode joined
22:52
discord-raku-bot left
23:56
Colt left
23:58
Colt joined
|
|||