🦋 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.
gfldex I got 2 implementations for .assuming that are way faster then what we got right now: gist.github.com/647eb0925ec65bdba1...381557d974 01:32
moon-child www.reddit.com/r/perl6/comments/ap...pplicator/ I did this a while ago 04:37
idk performance nor compatibility, but it doesn't use EVAL
Geth nqp: c4b121432a | (Daniel Green)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
Register `decont_u` as an op

Missed in the recent unsigned work.
08:21
nqp: 1fcf95ef90 | MasterDuke17++ (committed using GitHub Web editor) | src/vm/moar/QAST/QASTOperationsMAST.nqp
Merge pull request #758 from MasterDuke17/register_decont_u_as_an_op
rakudo: b3a71fbc61 | (Daniel Green)++ | tools/templates/NQP_REVISION
Bump NQP to pick up `decont_u` registered as an op
08:27
rakudo: e5b67c1d86 | (Daniel Green)++ | src/Perl6/Optimizer.nqp
Eliminate p6decontrv ops caused by `*_u` ops

Otherwise `my uint $a; sub foo { $a = 0 }` gives
  `===SORRY!===
p6decontrv expects a QAST::WVal as its first child`.
rakudo: 9a17526341 | MasterDuke17++ (committed using GitHub Web editor) | 2 files
Merge pull request #4736 from MasterDuke17/eliminate_p6decontrv_ops_caused_by__u_ops
Geth ¦ rakudo: lizmat self-assigned Various methods in CompUnit::RepositoryRegistry are not thread safe github.com/rakudo/rakudo/issues/4737 09:19
rakudo/lizmat-fix-custom-lib-race: 2be3bc6bfa | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Fix custom-lib race

As described in #4737
10:10
rakudo: lizmat++ created pull request #4738:
Fix custom-lib race
Geth rakudo/lizmat-chomp-needle: 667ab79cfa | (Elizabeth Mattijsen)++ | 2 files
Give .chomp the possibility to specify a needle

Basically:
   say "foobar".chomp("bar"); # foo
   say "foobar".chomp("baz"); # foobar
11:02
rakudo: lizmat++ created pull request #4739:
Give .chomp the possibility to specify a needle
Geth rakudo/lizmat-fix-custom-lib-race: 8e034779d4 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
s/register-custom-lib-repo/register-custom-lib-repository
12:33
Geth rakudo/master: 5 commits pushed by (Vadim Belman)++ 14:39
roast/master: 4 commits pushed by (Vadim Belman)++
[Tux] Rakudo v2021.12-161-g4365d9b6d (v6.d) on MoarVM 2021.12-87-gec1ddee66
csv-ip5xs0.755 - 0.791
csv-ip5xs-204.938 - 5.059
csv-parser3.880 - 3.975
csv-test-xs-200.398 - 0.410
test6.498 - 6.521
test-t1.525 - 1.531
test-t --race0.838 - 0.850
test-t-2022.627 - 22.704
test-t-20 --race7.554 - 7.599
20:23
5 2021-11-08 13:21:09 test-t 1.540 20:24
4 2021-10-29 17:47:15 test-t 1.536
3 2021-10-28 16:30:08 test-t 1.534
2 2022-01-26 20:04:45 test-t 1.531
1 2022-01-26 20:06:28 test-t 1.525
20211108 1.540❙20211029 1.536❙20211028 1.534❙20220126 1.531❙20220126 1.525❙
MasterDuke nice 20:39
japhb MasterDuke, nine: Looks like Digest still doesn't work at HEAD. Updated gist.github.com/japhb/68dded3c8576...fee0c2ff79 (-145 is Rakudo before the p6decontrv fix, -161 is after; now it looks like a uint problem.) 21:04
MasterDuke "Cannot unbox negative bigint into native unsigned integer" i wonder if it's doing something wrong that just happened to work before 21:07
MasterDuke m: use nqp; my str $s = (100..1_000).pick.Str; my int $i; my $n = now; $i = $s for ^10_000_000; say now - $n; say $i 21:13
camelia 0.394074819
161
MasterDuke a pretty simple change just about halves ^^^ runtime and gets rid of 10m temporary allocations, and i think it should be not too difficult to get even faster 21:14
and in a related question, wouldn't it be convenient for MVMStrings to both know their size and be null terminated? then, depending on encoding of course, the storage could be passed directly to C functions 21:17
guess it depends on how frequently we actually call C functions on strings to determine if the extra overhead (space, code complexity, etc) is worth it 21:19
but iirc, that's how D does it. or maybe C#?
oh, that would have made more sense over in #moarvm 21:24