🦋 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.
01:02 librasteve_ left 02:36 MasterDuke joined
MasterDuke . 02:36
tellable6 2024-02-13T10:52:35Z #raku-dev <lizmat> MasterDuke: that's probably my work on NQP streamlining NQPClassHOW :-(
2024-02-13T10:53:16Z #raku-dev <lizmat> MasterDuke: sadly, the problem didn't expose itself in NQP itself :-(
2024-02-13T10:53:32Z #raku-dev <lizmat> MasterDuke: am working on it
2024-02-13T12:14:52Z #raku-dev <lizmat> MasterDuke: fwiw, 6445646954776 appears to be an objectid this is used as a key in the typecache, and thus needs stringification
2024-02-13T12:43:20Z #raku-dev <lizmat> MasterDuke: looks like the issue in rakudo is caused by some circularity in setting up the type cache: a class having roles having classes that have the same roles or some such
2024-02-13T13:25:33Z #raku-dev <lizmat> MasterDuke: all should be well again now
MasterDuke lizmat++
hm. on two different system strstr is quite a bit faster than memmem (searching for a non-matching string in all the words of /usr/share/dict 1k times takes ~1.6s for strstr and ~2.3s for memmem). MoarVM uses memmem in some of the cases in MVM_string_index 03:01
however, i'm not sure how easily we could switch to strstr, since it expects c-style strings (i.e., null-terminated), and MVMStrings are not null-terminated 03:03
also, i don't know how much MVM_string_index is called. But maybe it's a bunch when parsing and speeding it up would be useful? 03:04
03:16 MasterDuke left 06:11 vrurg_ joined 06:13 vrurg left 08:22 epony left 08:35 sena_kun joined 09:47 finanalyst joined 10:45 epony joined 11:05 finanalyst left 13:28 ilogger2 left 13:42 ilogger2 joined 14:22 vrurg_ is now known as vrurg 14:24 epony left 14:25 epony joined
Geth nqp/main: cc1f4f9253 | (Elizabeth Mattijsen)++ | src/how/NQPClassHOW.nqp
Streamline NQPClassHOW some more

  - add a $!lock attribute and a dummy protect method for now
  - put all attribute updates into a protected block
This does not provide any actual protection against race conditions yet, but clearly marks where they can occur. Creating an NQPLockHOW will be needed to get actual protection.
16:12 epony left 16:13 epony joined 17:29 epony left 18:13 epony joined
Geth nqp/main: 6355d2914a | (Elizabeth Mattijsen)++ | src/how/RoleToRoleApplier.nqp
Streamline RoleToRoleApplier logic

  - no more for loops
  - replace postcircumfixes by nqp::atpos/key
  - abstract some logic in subs
  - remove dead code
  - add more comments
19:08 epony left 20:01 finanalyst joined 23:10 epony joined 23:25 sena_kun left 23:27 epony left 23:36 finanalyst left