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
[Coke] left
00:07
reportable6 left,
[Coke] joined
00:08
reportable6 joined
01:08
[Coke] left
01:10
[Coke] joined
01:40
Techcable joined
02:42
evalable6 left,
benchable6 left,
greppable6 left,
linkable6 left,
bisectable6 left,
notable6 left,
unicodable6 left,
squashable6 left,
shareable6 left,
committable6 left,
quotable6 left,
coverable6 left,
nativecallable6 left,
reportable6 left,
sourceable6 left,
bloatable6 left,
releasable6 left,
statisfiable6 left,
tellable6 left
02:43
notable6 joined,
sourceable6 joined,
reportable6 joined,
committable6 joined
02:44
shareable6 joined,
quotable6 joined
02:45
bloatable6 joined,
evalable6 joined
03:43
squashable6 joined,
bisectable6 joined
03:44
releasable6 joined,
nativecallable6 joined,
benchable6 joined
03:45
unicodable6 joined
04:45
coverable6 joined
05:43
statisfiable6 joined
05:44
linkable6 joined
05:45
tellable6 joined
06:07
reportable6 left
06:28
frost joined
08:45
greppable6 joined
08:53
ShaneC left
09:50
sena_kun left
10:08
reportable6 joined
10:45
sena_kun joined
12:07
reportable6 left
12:18
sena_kun left
12:20
sena_kun joined
14:14
frost left
14:31
Geth left,
Geth joined
|
|||
MasterDuke | hm, i haven't been able to construct an example that behaves differently without the try | 14:32 | |
timo: think you could make some more updated appimages? | 14:34 | ||
14:58
frost joined
15:33
frost left
16:09
reportable6 joined
16:19
squashable6 left,
squashable6 joined
|
|||
MasterDuke | well, at least for this example i'm working with, it looks like it's not too hard to gen better code in Actions.nqp | 16:37 | |
not as big of a run-time difference as i'd hoped though | 16:57 | ||
m: my $t = ("errors.md.tmpl" xx 1_000).join(" foo "); my $page; my $s = now; for ^1_000 { $page = $t.clone; $page ~~ s:g[ "foo" ] = "a" }; say now - $s; # locally this drops from ~2.60s to ~2.26s | 17:04 | ||
camelia | 2.681882169 | ||
MasterDuke | now down to ~2.1s | 17:15 | |
m: my $t = ("errors.md.tmpl" xx 5).join(" foo "); my $page; my $s = now; for ^10_000 { $page = $t.clone; $page ~~ s:g[ "foo" ] = "a" }; say now - $s; # and this drops from ~0.48s to ~0.44s | 17:20 | ||
camelia | 0.416483535 | ||
MasterDuke | though that's with a fast path added to !APPLY-MATCHES | 17:23 | |
~2.03s with a slightly faster fast path | 17:33 | ||
though i would like to know why that assignment has to happen in the loop and can't just be done at the end | 17:35 | ||
[Coke] | so, not a lot of luck trying to golf my malloc issue; any other suggestions? Reducing nursery size, maybe? | 17:43 | |
MasterDuke | you turned on MVM_GC_DEBUG? | 17:44 | |
if so, then yeah, reducing the nursery might help. dogbert17 might have some other suggestions | 17:47 | ||
afk for dinner, etc. | |||
18:01
ShaneC joined
18:06
reportable6 left
18:09
reportable6 joined
|
|||
[Coke] | ... oh. MVM_GC_DEBUG isn't an env var, is it | 18:19 | |
re-re-re-compiling. :) | 18:26 | ||
18:27
discord-raku-bot left,
discord-raku-bot joined
|
|||
[Coke] | I assume I can tell it's working because it's sooooo sloooow now. :) | 18:40 | |
(maybe I shouldn't have jumped from 0 to 3) | 18:50 | ||
dogbert17 | MVM_GC_DEBUG=3 is by far the slowest setting | 18:55 | |
most of the time I tend to use MVM_GC_DEBUG=1 and a nursery size of a few kilobytes | 18:57 | ||
19:27
evalable6 left,
linkable6 left
19:28
linkable6 joined
20:57
ShaneC left
21:29
evalable6 joined
21:30
sena_kun left
21:31
sena_kun joined
|
|||
MasterDuke | huh, i've run into this from time to time, but why aren't private multi-methods supported? | 21:37 | |
21:38
sena_kun left
21:39
sena_kun joined
|
|||
[Coke] | ... crap. the debug run just finished. no output, nothing. | 22:30 | |
(just the one line I've come to expect from the broken run) | |||
Was I supposed to attach a debugger or something? | |||
MasterDuke | the un-golfed version that you expected to fail? | ||
[Coke] | y | 22:32 | |
yes | |||
I think I assumed I'd get debug output or a new failure mode or something. my bad, should have checked first. | 22:33 | ||
MasterDuke | huh. MVM_SPESH_NODELAY=1 and/or MVM_SPESH_BLOCKING=1 changed anything? | 22:34 | |
22:34
sena_kun left,
sena_kun joined
|
|||
MasterDuke | m: my $m = ("a " x 1_000) ~~ m:g/\w/; my int $a = 0; my $s = now; for ^10_000 { $a++ for flat $m }; say now - $s; say $a | 22:36 | |
camelia | 0.938690274 10000000 |
||
MasterDuke | m: my $m = ("a " x 1_000) ~~ m:g/\w/; my int $a = 0; my $s = now; for ^10_000 { $a++ for @$m }; say now - $s; say $a | ||
camelia | 0.206832283 10000000 |
||
MasterDuke | m: my $m = ("a " x 1_000) ~~ m:g/\w/; my int $a = 0; my $s = now; for ^10_000 { $a++ for $m.list }; say now - $s; say $a | 22:37 | |
camelia | 0.211387123 10000000 |
||
MasterDuke | i thought `.list` instead of `flat` would be a nice change here github.com/rakudo/rakudo/pull/4807...4804R1814, but instead i get an error that i have no idea why it's happening | 22:38 | |
during installation too, not while compiling rakudo | 22:44 | ||
gist.github.com/MasterDuke17/e945b...5455dc5e48 if anyone is curious | 22:52 | ||
23:53
japhb left
23:58
japhb joined
|