🦋 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.
00:02 reportable6 left 00:05 reportable6 joined 00:34 frost joined 00:39 Xliff_ joined 00:41 Xliff left 01:05 _Xliff_ joined 01:08 Xliff_ left 01:10 Xliff_ joined 01:13 _Xliff_ left 02:01 melezhik left 02:35 Xliff_ left 03:29 discord-raku-bot left, gfldex left 03:31 gfldex joined 03:49 evalable6 joined 06:02 reportable6 left 06:04 reportable6 joined 07:33 evalable6 left, linkable6 left 07:35 evalable6 joined 08:34 linkable6 joined
lizmat Files=1349, Tests=117863, 305 wallclock secs (35.20 usr 9.67 sys + 4265.80 cusr 345.74 csys = 4656.41 CPU) 08:49
09:34 linkable6 left, evalable6 left 09:36 evalable6 joined
Geth rakudo: 380c775888 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Reduce visibility of Str internal classes
09:45
rakudo: 15ed1566ad | (Vadim Belman)++ | 2 files
Fix X::Assignment::RO message when assignment to Nil is attempted

There was two issues:
  - Nil was passing a string with its name as the problematic value
  - The exception wasn't designed to accept `Nil` as a value
Resolves #4586
09:59
rakudo: 1ea47322a2 | (Vadim Belman)++ | src/core.c/Exception.pm6
Make X::Assignment::RO $!value required

It was previously initialized with a "value" string.
rakudo: 4fece61378 | (Jonathan Worthington)++ (committed using GitHub Web editor) | 2 files
Merge pull request #4594 from vrurg/immutable-nil-error

Fix X::Assignment::RO message when assignment to Nil is attempted
lizmat hmmm... given "X" in a variable, how to get to the stash of the X class without using EVAL 10:23
m: dd "X::".EVAL.keys
camelia ("Import", "IllegalOnFixedDimensionArray", "Enum", "ControlFlow", "Str", "WheneverOutOfScope", "TooLateForREPR", "Temporal", "Await", "EXPORTHOW", "IO", "Coerce", "Range", "Undeclared", "Exhausted", "TypeCheck", "Promise", "CompUnit", "MustBeParametri…
lizmat m: my $x = "X"; ($x ~ "::").EVAL.keys 10:24
camelia ( no output )
lizmat m: my $x = "X"; dd ($x ~ "::").EVAL.keys
camelia ("Promise", "Eval", "Experimental", "Parameter", "OS", "Str", "Composition", "HyperRace", "Match", "Sequence", "MOP", "InvalidType", "Numeric", "DateTime", "Trait", "IllegalOnFixedDimensionArray", "Set", "Value", "Syntax", "Cannot", "Anon", "Assignmen…
10:35 linkable6 joined 11:30 Altai-man joined, squashable6 left 11:32 squashable6 joined 11:38 squashable6 left 11:39 squashable6 joined 12:02 reportable6 left 12:03 reportable6 joined 12:35 discord-raku-bot joined
vrurg m: my $x = "X"; say ::($x).WHO.keys 13:19
camelia (NotEnoughDimensions Subscript Attribute Import PoisonedAlias Enum Syntax Lock SecurityPolicy Redeclaration Hash Obsolete Inheritance EXPORTHOW Constructor HyperRace TooLateForREPR Parameter StubCode Eval Backslash OutOfRange Mixin TooManyDimensions P…
vrurg lizmat: did you mean this ^^
13:35 evalable6 left, linkable6 left 13:43 melezhik joined
[Tux] Drum-roll please … 14:34
Rakudo v2021.10-17-g4fece6137 (v6.d) on MoarVM 2021.10-15-g51bff712c
csv-ip5xs1.424 - 1.529
csv-ip5xs-2015.142 - 15.695
csv-parser4.000 - 4.019
csv-test-xs-200.368 - 0.373
test6.795 - 7.012
test-t1.534 - 1.541
test-t --race0.932 - 0.938
test-t-2022.415 - 22.618
test-t-20 --race7.786 - 7.966
5 2019-07-18 11:00:10 test-t 1.621
4 2019-04-29 10:24:11 test-t 1.605
3 2019-04-20 18:37:45 test-t 1.594
2 2021-10-28 16:32:08 test-t 1.541
1 2021-10-28 16:30:08 test-t 1.534
CONGRATULATIONS ALL YOU HARDWORKING PEOPLE! 14:35
Altai-man [Tux]++ # diligently measuring things 14:38
MasterDuke nice 14:40
timo wowie 14:45
Geth rakudo/megamorphic-handlers: 0412a81f85 | (Jonathan Worthington)++ | 2 files
Fix typos
14:48
japhb Where's a good place for uploading temporary *images*? (Like gists, but for screenshots) 15:06
MasterDuke spectacle has an option to anonymously upload a screenshot to imgur 15:09
japhb imgur.com/a/ew0Unqd -- looks like you need to click to zoon 15:19
*zoom in
[Tux] See also file://localhost/work/www/Talks/CSV6/speed4.html 15:25
tux.nl/Talks/CSV6/speed4.html
15:31 patrickb joined
japhb Interestingly, I also see similarly-shaped improvements for test-t-20 and test-t-20 --race, but *not* for test-t --race (or at least, not enough to counteract the slowdown over the last quarter). 15:35
[Tux]++ # measuring and tracking for *years* 15:36
15:36 evalable6 joined, linkable6 joined 15:42 Altai-man left 15:47 Xliff joined
lizmat japhb: test-t --race suffers from increased startup time 15:50
japhb Ah! 15:51
Makes sense then
Geth nqp/dispatcher-replace-arg-syscall: 82594548eb | (Timo Paulssen)++ | src/core/dispatchers.nqp
replace drop-arg + insert-arg with replace-arg

in a few dispatchers that nqp uses. Once there is a replace arg with literal values, that could be used in more places.
15:54
16:08 patrickz joined, patrickb left 16:23 Xliff_ joined 16:26 Xliff left 16:56 _Xliff_ joined 16:58 Xliff_ left 17:02 Xliff_ joined 17:05 _Xliff_ left 17:15 patrickz left 17:40 patrickb joined 17:58 patrickb left 18:03 reportable6 left 18:04 reportable6 joined
Geth rakudo/IterationBuffer.new(iterable): a8db54a567 | (Elizabeth Mattijsen)++ | src/core.c/IterationBuffer.pm6
Add a IterationBuffer.new(iterable) candidate

To facilitate initializing iteration buffers. Makes
   IterationBuffer.new(<a b c d e f g h i j>);
about 2x as fast as:
   my $b := IterationBuffer.new;
   $b.push($_) for <a b c d e f g h i j>;
   $b
18:52
rakudo: lizmat++ created pull request #4599:
Add a IterationBuffer.new(iterable) candidate
19:04 evalable6 left, linkable6 left 19:05 evalable6 joined 19:06 linkable6 joined
Geth rakudo: 0dae67a60d | (Elizabeth Mattijsen)++ | src/core.c/Cool.pm6
Make .subst upto 1.9x as fast

Because new-disp allows removal of the nqp::getlexcaller hack in the proto to be able to access the $/ in the caller from a dispatched method. This making it an empty proto, which apparently in new-disp, doesn't even exist call stack-wise.
19:14
rakudo: 2204c7cbc7 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make .match faster by simplifying proto
19:27
lizmat fg
oops
[Coke] -bash: fg: job has terminated 19:30
MasterDuke looks like .trans and .subst-match are likely candidates as well 19:36
Geth rakudo: d619e026fa | (Elizabeth Mattijsen)++ | 2 files
Make .subst-mutate faster by simplifying proto
19:37
lizmat actually, that one accidentally also included .trans
ugexe: if I have just installed a module with `zef install .`, is it to be expected that the first time an installed script loads that module, that it gets compiled again ? 19:55
(judging from what I see with --stagestats, which sadly doesn't mention the name of the module being parsed, could that be fixed?)
ugexe if the script has something like `use lib ...` sure 19:59
lizmat and when it doesn't?
ugexe well if you install zef and run zef --help you'll see it doesnt recompile anything 20:00
20:06 evalable6 left, linkable6 left 20:07 evalable6 joined, kjp left 20:09 linkable6 joined, kjp joined 20:23 kjp left 20:25 kjp joined, Geth left, Geth joined 20:26 RakuIRCLogger left, RakuIRCLogger joined 20:27 TempIRCLogger left 20:28 TempIRCLogger joined 20:31 kjp left 20:33 kjp joined
nine Actually just use lib shouldn't cause any recompilation. Except if the lib contains some dependency of the installed module 20:35
What will happen on the first run is re-checking of dependencies. So the first run will be slower but not terribly much. 20:37
lizmat well.. after a recompile of rakudo, restarting the irc logs server takes about a minute :-( 20:38
nine Well that is to be expected. In that case we have to recompile all used modules and Cro alone is quite a bit of code 20:42
lizmat yeah... running it with --stagestats shows it's going at least 6 levels deep 20:44
Geth nqp/dispatcher-replace-arg-syscall: c9ef29a218 | (Timo Paulssen)++ | src/core/dispatchers.nqp
use replace-arg-literal-obj in nqp's dispatchers
20:54
ugexe yeah i wasnt quiet clear... i meant `use lib "."` or `use lib "lib"` (which if either was in code installed by `zef install .` would get picked up as a dependency 20:59
Geth nqp: timo++ created pull request #745:
Dispatcher replace arg syscall
21:03
22:33 kjp left 22:35 kjp joined 22:49 dogbert17 joined, dogbert11 left 22:56 dogbert17 left 23:03 dogbert17 joined 23:09 dogbert17 left