🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
Geth rakudo: moon-chilled++ created pull request #4544:
Remove bad substr candidate
07:43
Geth rakudo: 93f0d86fcd | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Add missing Str.substr() candidate, moon-chilled++
08:40
Geth nqp/only-mega-type-once: ef8f12f2f6 | (Jonathan Worthington)++ | src/core/dispatchers.nqp
Try to avoid duplicate mega-type DP installations
10:31
[Tux] Rakudo v2021.09-230-g93f0d86fc (v6.d) on MoarVM 2021.09-597-g1420640ab
csv-ip5xs1.396 - 1.454
csv-ip5xs-2015.727 - 16.430
csv-parser5.420 - 5.568
csv-test-xs-200.374 - 0.377
test8.112 - 8.191
test-t1.732 - 1.781
test-t --race1.030 - 1.083
test-t-2026.028 - 27.626
test-t-20 --race8.446 - 8.460
10:57
lizmat nice... :-) 11:01
nine I hope I'll be able to recover Inline::Perl5's performance as well 11:09
lizmat how did that suffer? is it a general NativeCall issue ? 11:12
nine Before new-disp it picked wrapper methods with 0, 1, 2 or multiple args depending on the callsite and put them directly into the multi dispatch cache: github.com/niner/Inline-Perl5/blob...HOW.pm6#L7 11:17
lizmat ah, I see, so it needs new nqp::dispatch goodness :-) 11:36
nine Now there's a plot twist: the whole IP5 trickery I pointed out does not actually help performance. Seems like rakudo's multi dispatcher (at least nowadays) gives the exact same results (on 2021.09). The fastest benchmark run was even with my trickery disabled (though probably within margin of error) 12:02
So actually I have no idea where we lose half our performance
Could even be a NativeCall slow down
nine A look at a profile suggest that it actually is a NativeCall regression 12:56
[Coke] what's the magic Configure.pl invocation to force use of latest rak/nqp/moar? 13:10
do I need to do a git pull everywhere first & then force-rebuild? 13:12
perl Configure.pl --help for no-silent-build appears to have the sense reversed in the description.
(force+gen seems to do it...) 13:13
ah, no it doesn't. it did the update but then picked a specific version 13:14
--force-rebuild --gen-nqp=master --gen-moar=master 13:16
[Coke] bah, build failed. 13:33
vrurg [Coke]: usually when I need to rebuild with different versions I tend to do `git clean -dfx` to make sure there are no left overs. 13:38
[Coke] yah, will just do this the "hard" way, no worries. 13:43
Geth nqp: f62b74d9ba | (Jonathan Worthington)++ | tools/templates/MOAR_REVISION
Bump MOAR_REVISION for dispatcher-do-not-install
15:16
nqp: bc5e5cb0bd | (Jonathan Worthington)++ | src/core/dispatchers.nqp
Try to avoid duplicate mega-type DP installations
[Coke] ... I built and installed moar, using master. I then separately try to build nqp, but it complains the moar it found (in the install directory I used) is too old. 15:58
oh. ^^ just very bad timing. :)
Geth rakudo: 21271aa5f9 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Respect CALL-ME mixed into a `proto`

Typically this would be done in a trait; there's not an obligation for late-bound application of a role to something considered a compile time declaration to be respected. Closes #4543.
17:08
Geth roast: ca8b1747f4 | (Jonathan Worthington)++ | S12-methods/fallback.t
Cover CALL-ME mixed into a `proto` in a trait
17:09