Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
00:00 vrurg left 00:02 vrurg joined 00:07 reportable6 left 00:09 reportable6 joined 01:28 MasterDuke joined
MasterDuke timo: i noticed you had some comment about performance when using the iterator over strings. i don't remember what exact code i was looking at a little while ago (hopefully i have some work saved i can retrieve when my desktop gets set up soon), but there are a bunch of places where we could make a tradeoff of increased code size for better 01:38
performance
coincidentally i was looking at dotat.at/@/2022-06-27-tolower-swar.html (a blog post about doing tolower() fast), but our current implementation of lc uses the grapheme iterator 01:40
and then github.com/simdutf/simdutf hit HN yesterday or today. istr i looked at it (or its precursor) before, but whatever i looked at wasn't immediately obviously useful. but it looks like it's been expanded upon since i looked at it before, so maybe someone else could take a second look and re-evaluate 01:50
fwiw, during a compete build+install of rakudo, lc() is called 86,531 times on strings of <8 chars and storage type of MVM_STRING_GRAPHEME_8 02:06
hopefully in a week or so i'll be able to get back into moarvm/rakudo hacking a bit 02:27
02:34 MasterDuke left 02:36 frost joined 02:38 nebuchadnezzar left 03:38 statisfiable6 left, notable6 left, linkable6 left, squashable6 left, reportable6 left, committable6 left, bisectable6 left, greppable6 left, benchable6 left, releasable6 left, quotable6 left, nativecallable6 left, coverable6 left, tellable6 left, evalable6 left, sourceable6 left, shareable6 left, bloatable6 left, unicodable6 left 03:39 coverable6 joined, tellable6 joined, reportable6 joined 03:40 bloatable6 joined, quotable6 joined, linkable6 joined, greppable6 joined 03:41 benchable6 joined, unicodable6 joined, committable6 joined, bisectable6 joined, nativecallable6 joined, shareable6 joined, evalable6 joined, releasable6 joined, sourceable6 joined, statisfiable6 joined 03:42 notable6 joined, squashable6 joined 03:44 frost left 04:53 quotable6 left, bisectable6 left, sourceable6 left, committable6 left, evalable6 left, squashable6 left, shareable6 left, notable6 left, coverable6 left, tellable6 left, linkable6 left, releasable6 left, greppable6 left, nativecallable6 left, statisfiable6 left, bloatable6 left, benchable6 left, reportable6 left, unicodable6 left 04:54 squashable6 joined, linkable6 joined, committable6 joined, greppable6 joined, nativecallable6 joined, coverable6 joined 04:55 benchable6 joined, unicodable6 joined, reportable6 joined, bloatable6 joined, sourceable6 joined, evalable6 joined, statisfiable6 joined, bisectable6 joined 04:56 shareable6 joined, quotable6 joined, releasable6 joined, notable6 joined, tellable6 joined 05:56 nativecallable6 left, benchable6 left, committable6 left, bisectable6 left, bloatable6 left, tellable6 left, coverable6 left, reportable6 left, evalable6 left, unicodable6 left, quotable6 left, linkable6 left, squashable6 left, shareable6 left, statisfiable6 left, notable6 left, greppable6 left, sourceable6 left, releasable6 left 05:57 committable6 joined, greppable6 joined, reportable6 joined, nativecallable6 joined 05:58 linkable6 joined, unicodable6 joined, squashable6 joined, benchable6 joined, bisectable6 joined, statisfiable6 joined, releasable6 joined, coverable6 joined 05:59 evalable6 joined, shareable6 joined, bloatable6 joined, sourceable6 joined, tellable6 joined 06:00 notable6 joined, quotable6 joined 06:07 reportable6 left 06:10 reportable6 joined 06:19 kjp joined
Nicholas good *,* 06:22
08:16 sena_kun joined
timo good 08:18
i semi-randomly watched the "swiss tables" presentation again, the one from cppcon from the google engineer 08:22
08:26 Guest68 joined
timo our hash implementation doesn't use any intrinsics for sse and such? 08:32
Guest68 Hello everybody. I have been investigating a problem I have with rakudo on macOS: stackoverflow.com/questions/734149...u-2022-04. The problem is a commit to libuv. For Darwin fork()/exec() has been replaced with posix_spawn(). A side effect of this change is that posix_spawn() treats all descriptors, regardless if 08:34
opened or not with O_CLOEXEC, as if they had. This is the pull request: github.com/libuv/libuv/pull/3064. I think that moar/raku/nqp (?) did not adapt to this change. The process is spawned but the output is lost. While I am certain that properly fixing this issue is beyond my capabilities I'd still like to have a look. I'd appreciate if
you could point me at a source folder/file/function worth investigating.
08:39 frost joined
Voldenet Guest68: I could be wrong because the Proc::Async (I believe that is the one used here as well) is sufficiently complex, but github.com/MoarVM/MoarVM/blob/4b2d...ops.c#L764 is the line that spawns the process I think 09:10
Guest68 Voldenet: Thank you very much, I'll have a look. 09:14
09:20 nebuchadnezzar joined 10:20 evalable6 left, linkable6 left 10:21 linkable6 joined 10:22 evalable6 joined
Guest68 Unfortunately I don't get anywhere. The program flow in spawn_setup() is always the same so the file descriptors are always setup the same way. It is interesting that the test only fails when it is wrapped in MAIN. 11:25
This will succeed: echo hi | ./dir/install/bin/raku -e 'for slurp() { shell <<echo ok>>; }'
this won't: echo hi | ./dir/install/bin/raku -e 'sub MAIN() { for slurp() { shell <<echo ok>>; } }'
12:05 reportable6 left 12:09 reportable6 joined 13:09 evalable6 left, linkable6 left 13:11 linkable6 joined, evalable6 joined 13:40 frost left 14:44 samcv left, samcv joined
Guest68 I have filed an issue at github: github.com/MoarVM/MoarVM/issues/1720. Thanks for your assistance! 15:45
15:55 Guest68 left 16:03 sena_kun left, sena_kun joined 16:18 discord-raku-bot left, discord-raku-bot joined 16:56 discord-raku-bot left 16:57 discord-raku-bot joined
timo isn't that how argfiles is supposed to work? 17:42
ah i misunderstood 17:55
18:05 reportable6 left 18:07 epony left, reportable6 joined 18:26 epony joined 18:40 Kaiepi left 19:19 Kaiepi joined 20:11 discord-raku-bot left 21:58 sena_kun left