🦋 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: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
00:10 ShimmerFairy joined 00:30 ShimmerFairy left 00:31 ShimmerFairy joined 00:33 ShimmerFairy left 04:10 ShimmerFairy joined 06:11 ShimmerFairy left 06:18 kjp left 06:20 kjp joined 06:21 kjp left 06:22 kjp joined 07:01 ShimmerFairy joined 07:06 guifa left 07:11 guifa joined 07:15 guifa left 08:18 bloatable6 left, quotable6 left, bisectable6 left, evalable6 left, greppable6 left, coverable6 left, shareable6 left, committable6 left, releasable6 left, nativecallable6 left, linkable6 left, notable6__ left, unicodable6 left, sourceable6 left, benchable6 left 08:21 linkable6 joined, shareable6 joined, releasable6 joined 08:22 evalable6 joined, tellable6 joined, bloatable6 joined, quotable6 joined, benchable6 joined, sourceable6 joined, coverable6 joined 08:23 bisectable6 joined, committable6 joined, notable6 joined, unicodable6 joined, nativecallable6 joined 08:24 greppable6 joined
lizmat So I've created two optimized versions of .subst in raku.land/zef:lizmat/String::Utils#replace "replace" and "replace-all" 13:46
which are up to 8x as fast as the equivalent .subst statement
cause: no Match object creation, and no $/ setting 13:47
I think we cannot change the behaviour of .subst regarding setting of $/, because it would cause too much breakage in the ecosystem 13:48
but I was thinking of creating an updated .subst method in 6.e called .replace
which would probably allow to keep a good deal of the performance improvement that the stripped down versions in String::Utils provide 13:49
hmmm.. seems like a discovered an ancient artefact: who knows what the command-line option "parsetrace" is supposed to do? 14:16
rakkable: eco-provides parsetrace 14:17
rakkable lizmat, Running: eco-provides parsetrace, please be patient!
lizmat, No occurrences found for: eco-provides parsetrace
ShimmerFairy I don't actually know, but that sure sounds like a `use Grammar::Tracer` analogue to me. A quick partial look through git blame on NQP shows that it's been around since the time NQP was partially handwritten PIR. (Seems to have mapped to a "rxtrace" named arg?) 14:27
lizmat: NQP commit 2cd14a327163c7c337c2f5ea47ab8eb70232ffc8 is where --parsetrace was introduced, back in late 2009. Seems to have enabled calling method DEBUG on a Cursor immediately after !cursor_init, and before the "regex" method (presumably ran the actual parsing steps) 14:31
(with said DEBUG method having been introduced in some earlier commit)
I'm not 100% on this, but after looking around it seems that --parsetrace was added to NQP::Compiler, which likely ceased to function on the move to QRegex (I don't the equivalent DEBUG code was ever there). Later on, --rxtrace was added to HLL::Compiler. Eventually that option was removed, with its commit noting that --target=parse exposes (mostly?) the same info. 14:59
So in short, without stepping into a time machine to resurrect Parrot, I think --parsetrace is ultimately an early form of --target=parse that slipped through the cracks when things were NQP-ified. 15:00
lizmat thanks for the spelunking! 15:30
Geth nqp/main: 600929358d | (Elizabeth Mattijsen)++ | src/NQP/Compiler.nqp
Remove meaningless command-line argument "parsetrace"

This appears to have been a leftover from the Parrot / PIR days. Shimmerfairy++ for the spelunking.
15:44
rakudo/main: cff551c89c | (Elizabeth Mattijsen)++ | src/main.nqp
Remove meaningless command-line argument "parsetrace"

This appears to have been a leftover from the Parrot / PIR days. Shimmerfairy++ for the spelunking.
15:48
rakudo/main: fbb967b32a | (Elizabeth Mattijsen)++ | src/core.c/Num.rakumod
Fix roast test failure caused by 1b46f7135b7776e779
15:58
rakudo/lizmat-rakudo-opt: ce54201596 | (Elizabeth Mattijsen)++ | src/main.nqp
Simplify handing of RAKUDO_OPT environment variable

Instead of making RAKUDO_OPT provide defaults for the command-line arguments handling, simply splice the RAKUDO_OPT arguments into the arguments (after the initial argument, which is the executable to be used).
... (7 more lines)
18:43
rakudo: lizmat++ created pull request #6060:
Simplify handing of RAKUDO_OPT environment variable
21:43 guifa joined