🦋 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:05
[Coke]_ left
00:07
[Coke] joined
01:28
ShaneC left
|
|||
japhb | lizmat, nine: Was looking at the code for AT-POS in a few places, and realized some of them have native variants for int and some have uint. Now that int and uint are actually different, do we need to have *both* int and uint variants of AT-POS (and BIND-POS and such) in order to get the performance boost of calling with native positions? | 01:37 | |
lizmat | Files=1352, Tests=117129, 292 wallclock secs (35.43 usr 9.40 sys + 4104.12 cusr 305.63 csys = 4454.58 CPU) | 07:13 | |
japhb: I'm not sure actually: at one point I even removed native candidates, as they were significantly *slower* than then non-native candidates, even when called with a native | 07:14 | ||
nine | japhb: in the long term, yes, absolutely. However there are other issues that as lizmat mentioned may actually harm performance or at least prevent us from gaining anything. | 09:12 | |
10:01
sena_kun left
10:02
sena_kun joined
10:57
Altai-man joined
|
|||
Geth | rakudo: 0420a0cf33 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Spec.pm6 Re-imagine CompUnit::Repository::Spec.from-string This was using regular expressions and meta ops, for code that is really pretty simple. Since this is being called multiple times for *every* pre-compilation, it seems to make sense to streamline this code using nqp::ops and without regexes and meta-ops. Underlying reason was that another upcoming fix broke because meta-ops were being used *before* the Rakudo::Metaops mapper had been initialized. |
12:02 | |
nine | lizmat: wouldn't plain Raku code have been fast enough? | 12:05 | |
lizmat | well, I wanted to keep to the metal as much as possible, as apparently that code is being called *before* the entire mainline of the setting has been run | 12:06 | |
nine | I wouldn't mind balancing that with maintainability | 12:07 | |
lizmat | have you looked at the code ? | 12:12 | |
nine | yes | 12:14 | |
I know, to you nqp ops are probably more familiar by now than Dutch. But I still translate nqp::islt_i(++$i,$nr-options) to ++$i < $nr-options in my head :D | 12:16 | ||
lizmat | ok, noted :-) | 12:17 | |
anyways, getting closer to fixing #1920 | |||
slowly... :-( | 12:18 | ||
Geth | rakudo: dbee70ad33 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Spec.pm6 Use more readable test, nine++ |
12:31 | |
rakudo: e95753499f | (Elizabeth Mattijsen)++ | src/core.c/Env.pm6 Make *CWD initialization non-lazy There is some interaction between $*REPO and $*CWD initialization that causes github.com/rakudo/rakudo/issues/1920 . Since $*CWD is needed for anything related to IO::Path creation, and $*REPO initialization creates IO::Path objects, and since $*REPO is used *whenever* a module is used or required, it felt that making $*CWD non-lazy to be a good trade-off. |
|||
rakudo: 4c4d37928d | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Spec.pm6 Revert CompUnit::Repository::Spec.from-string re-imagination |
12:57 | ||
rakudo/CUR-spec-reimagined: 64eee9f621 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Spec.pm6 Re-imagine CompUnit::Repository::Spec.from-string This was using regular expressions and meta ops, for code that is really pretty simple (apart from the option partsing). Since this is being called multiple times for *every* pre-compilation, it seems to make sense to streamline this code and with fewer regexes and no meta-ops. Underlying reason was that another upcoming fix broke because meta-ops were being used *before* the Rakudo::Metaops mapper had been initialized. |
13:49 | ||
rakudo: lizmat++ created pull request #4837: Re-imagine CompUnit::Repository::Spec.from-string |
|||
rakudo: 2511c219cd | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files Add :precompile = True flag to CURI.install (#4826) The idea behind this is to allow modules to just be installed and have the runtime decide when it should (re-)precompile any compilation units that were not precompiled yet. This would e.g. allow the DateTime::TimeZone distribution to be installed within a second, rather than on 4+ minutes. And only precompile those timezones that are actually used at runtime. Also add the --/precompile flag to install-dist.raku |
13:55 | ||
rakudo: 2da9eb22b8 | (Jonathan Worthington)++ (committed using GitHub Web editor) | 2 files Improve error when `make` encounters non-Match $/ (#4834) Since `make` tries to do a low-level bind directly into $/, if it instead sees a different object, the error isn't too informative. This most typically comes up when folks do re-parsing in action methods, give the parameter normally called `$/` another name, and ... (5 more lines) |
|||
14:37
rypervenche joined
14:55
Altai-man left
|
|||
nine | Hm...I'm starting to see Inline::Perl5 build failures: build.opensuse.org/package/live_bu...5.4/x86_64 | 15:05 | |
First failed build 16:07:41 today | 15:06 | ||
[Coke] | throwing in Match - Jonathan's fix to improve error messages in Match? | 15:19 | |
15:28
vrurg_ joined
15:31
vrurg left
|
|||
lizmat | nine: I guess something's not a Match object, then | 15:51 | |
nine | I guess $/: method statement_control(Mu $/) { my $optree = $*P5CODE; $*W.add_object($optree); make QAST::Op.new( | 16:25 | |
lizmat | fwiw, confirmed it is jnthn's PR I merged that breaks installing Inline::Perl5 | 16:40 | |
nine: shall I revert ? | 16:41 | ||
Geth | rakudo/CUR-spec-reimagined: 08c70bac6e | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Spec.pm6 Generalize what we allow in a value |
16:55 | |
rakudo: ee0715396f | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/CompUnit/Repository/Spec.pm6 Re-imagine CompUnit::Repository::Spec.from-string (#4837) This was using regular expressions and meta ops, for code that is really pretty simple (apart from the option parsing). Since this is being called multiple times for *every* pre-compilation, it seems to make sense to streamline this code and with fewer regexes and no meta-ops. ... (6 more lines) |
18:11 | ||
rakudo: e7143e00cd | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Internals.pm6 Don't initialize PROCESS:: variables more than once Cases such as described in issue #1920 would attempt to initialize dynamic variables more than once in a process. Even though these would be serialized, there's no point in doing the same again. So now check if the PROCESS:: variable has been set already, and ... (8 more lines) |
19:36 | ||
20:05
sena_kun left
20:06
sena_kun joined
|
|||
Geth | rakudo: c08d2ee9f8 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6 Fix CU:RepositoryRegistry.resolve-unknown-repos In as much that this method *can* be called with $*W being a Failure on which can not run a .find_single_symbol. So get the value for $*W once, and adjust the merge-symbols logic accordingly. |
20:10 | |
21:20
discord-raku-bot left
21:21
discord-raku-bot joined
23:23
discord-raku-bot left,
discord-raku-bot joined
|