github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:37
AlexDani` joined
00:39
AlexDaniel left
01:59
Util left
02:22
Util joined
|
|||
discord6 | <sjn 🇳🇴> \o | 08:44 | |
lizmat | sjn o/ | 08:49 | |
discord6 | <sjn 🇳🇴> Coveaster hacking! \o/ | 08:52 | |
09:12
Altai-man_ joined
09:22
sena_kun joined
09:23
Altai-man_ left
09:37
angelds joined
11:20
angelds left
11:21
Altai-man_ joined
11:23
sena_kun left
11:35
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
11:38
MasterDuke left
11:41
patrickb joined
11:48
MasterDuke joined
12:40
samcv left
13:22
sena_kun joined
13:24
Altai-man_ left,
zakharyas joined
13:43
samcv joined
13:51
samcv left
13:53
samcv joined
14:20
zakharyas left
14:56
samcv left,
samcv joined
15:21
Altai-man_ joined
15:23
sena_kun left
15:24
colomon left
15:26
colomon joined
15:36
colomon left
15:38
colomon_ joined
16:25
zakharyas joined
|
|||
timotimo | i think the profile dumper should probably stop when the recursion depth has exceeded like 20k | 16:28 | |
at that point you're very likely in a situation that isn't going well | |||
MasterDuke | timotimo: true. but i also feel like in some/most of those cases the actual code that the profiler is collecting info on is not great | 16:42 | |
timotimo | it's more likely that it's still that nasty bug that causes loops to turn into infinite-depth recursion in the eyes of the profiler | 16:49 | |
MasterDuke | is it strictly a bug in the profiler? | 16:57 | |
or some badly generated/optimized code that the profiler just doesn't handle well? | 17:00 | ||
timotimo | it's a bug that i haven't properly figured out, but if i have the right idea, it's that when generating the enter/exit instructions in the code, sometimes there's a path through the routine that skips the exit instruction on the way out | 17:04 | |
MasterDuke | that sounds very plausible. might explain why when trying to compile big things like the rakudo build i never see it ending profiling | 17:05 | |
17:22
sena_kun joined
17:23
Altai-man_ left
18:30
vesper11 joined
|
|||
timotimo | who is bored enough to try putting liborc into moarvm? | 18:30 | |
it uses meson as its build tool, so have fun with that i guess | |||
18:30
vesper11 left
|
|||
timotimo | but it offers an assembly-like language that it can compile to vectorized code targeted at the compile-time or run-time selected architecture, or you can put the programs together with regular C function calls | 18:31 | |
it'd be nice to have liborc as optional if it is to be included | 18:32 | ||
and then having the nqp level check if liborc is there or not and have the alternative implemented simply in nqp | 18:33 | ||
OTOH, composing a QAST in raku code and compiling it, then running it could already be a nice win for very big arrays being hyperopped | 18:36 | ||
18:50
vesper11 joined
19:21
Altai-man_ joined
19:23
sena_kun left
|
|||
timotimo | oh my, a spesh mystery | 19:29 | |
MasterDuke | do you have any dogs and/or meddling kids around to help solve it? | 19:40 | |
timotimo | i've been barking up the wrong tree for a little there ... | 19:51 | |
nwc10 | MasterDuke++ | 19:52 | |
timotimo | there we go. the self for this method wasn't restricted to :D, that's why the getattr couldn't be speshed | 19:53 | |
and it's a certain optimization, possibly because it's only got osr hits | 19:54 | ||
MasterDuke | what are you optimizing? | 19:55 | |
timotimo | was looking a bit into our hyperop implementation | 19:56 | |
MasterDuke | cool | 19:58 | |
timotimo | if there were a nice little spot where i could say "we have an int array on both sides and a simple operator from the setting, so let's use a more optimized approach here" | 19:59 | |
and then i stumbled upon a getattr_o that was looking like it should have been optimized | 20:00 | ||
and i didn't see why until i put in more debug info | |||
now i'm storing an extra integer in spesh comment annotations that stores the order in which they were added | 20:01 | ||
MasterDuke | what does that tell you? | 20:03 | |
timotimo | i wanted to make sure it was doing the one thing that i saw before the other thing that i saw | 20:05 | |
because i was being misled by buggy debug output :) | |||
i'll post an example | 20:07 | ||
gist.github.com/timo/f247d9ccef1fd...e4a70400f4 | |||
it also gives a hint for stuff that has been deleted by spesh, since the comment numbers will have a gap | 20:09 | ||
theoretically i could save them up and display them after the graph with what they used to attach to | 20:10 | ||
MasterDuke | huh, interesting | 20:19 | |
20:48
zakharyas1 joined
20:50
zakharyas left
21:22
sena_kun joined
21:23
Altai-man_ left
21:30
zakharyas1 left
21:57
patrickb left
23:21
Altai-man_ joined
23:23
sena_kun left
|