Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
lizmat Files=1268, Tests=108561, 192 wallclock secs (26.68 usr 7.76 sys + 2691.76 cusr 252.97 csys = 2979.17 CPU) 06:49
lizmat .ask jnthn would it make sense to fix thread safety of state variables / once blocks by using an atomic int increment to signal initialization on the MoarVM backend? 08:02
yoleaux lizmat: I'll pass your message to jnthn.
|Tux| Rakudo version 2019.07-91-gdcf8c16d4 - MoarVM version 2019.07-34-g57a6d475b
csv-ip5xs0.687 - 0.703
csv-ip5xs-205.125 - 5.178
csv-parser21.393 - 21.529
csv-test-xs-200.424 - 0.430
test6.018 - 6.729
test-t1.652 - 1.704
test-t --race0.775 - 0.777
test-t-2030.195 - 30.401
test-t-20 --race9.076 - 9.104
09:30
MasterDuke an interesting article and commentary about doing parallel programming in julia that seems relevant here news.ycombinator.com/item?id=20507628 11:43
jdv79 I thought the Hash:Map::Array:List stuff was all settled a while ago 13:35
lizmat jdv79: apparently not ? :-) 13:46
the fact that I created a PR should not be construed as supporting that change, merely as a tool to make the discussion clear
since vrurg is trying to fix the issue of exporting scalar values 13:47
vrurg lizmat: Actually, your PR will fix things for those exporting with Map. The rest is in the core already. 13:49
lizmat jdv79: ^^
Geth rakudo/nested_stagestats: d0c6b6b7f6 | (Timo Paulssen)++ | src/core/CompUnit/PrecompilationRepository.pm6
Show stagestats for dependent precompilation

This way you can get much more info when your "stage parse" takes long, and you can more easily see the dependency structure of your projects (though of course modules that were already precompiled won't show up here)
14:04
rakudo: timo++ created pull request #3082:
Show stagestats for dependent precompilation
timotimo may be a good idea to shorten that excerpt a bit, haha 14:08
ugexe lizmat: you'd probably have to use a lock for the same reason you would for //= -- knowing if its initialized isn't enough, the second thread must also wait for the value to be available 15:47
if the initialization marker was the value itself then it'd be fine
i guess maybe cas could work 15:48
on systems that support it
as for `once { }` you are left choosing if a second thread can skip past while the first thread is still inside the once block 15:51
i'm assuming thats ok but would still catch people up using once to initialize things 15:52
AlexDaniel lizmat: “Perl 6 is a brand new language that brings fun back into programming” ? :) 17:09
Geth rakudo/release-2019.07.1: bd29d3f643 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/08-performance/99-misc.t
Bump the margin of a performance test

According to the original issue one of the variants wasn't simply slower but rather used to hang. To test for the hang, the margin can be relatively large. Currently the difference is about 2x, which means that the test flapped depending on the system's load. Bumping it to 5x should be good enough in most of the cases.
Resolves GH-3065.
18:34
pamplemousse Quick question. When I run "perl6 --target=mbc --output=foo.mbc foo.pl6", and foo.pl6 uses a module (in this case Date::Names), I get this output to the terminal: gist.github.com/pamplemoussecache/...505aafb5d1 22:15
It appears to be produced on this line: github.com/perl6/nqp/blob/master/s...r.nqp#L553
But I can't find where that $grammar.parse() function actually lives. Does anyone have any ideas? 22:16
timotimo yeah, that is probably derived from NQP 22:17
but you're probably most interested in the TOP method in the grammar in question
pamplemousse The TOP method? How would I find that? 22:21
timotimo that'd be Perl6::Grammar's TOP
the method parse in question actually lives in QRegex/Cursor.nqp i believe 22:22
but it doesn't do much besides call the TOP method/token (by default) of the grammar 22:23
pamplemousse It looks like it is the one in Cursor.nqp, thanks! I'll take a look at TOP next 22:29
timotimo it does a *lot*
github.com/rakudo/rakudo/pull/3082 - this PR happens to have a little bit to do with what you might be looking at at the moment 22:30
at least i think you're looking in that general direction 22:31
of course the output you're getting gives all dependencies, whereas what i changed in that code is only for dependencies that haven't been precompiled yet
pamplemousse Thank you, that's extremely helpful 22:33
timotimo glad to hear it 22:35
i'm about to head to bed
pamplemousse Alright, thank you for your help! 22:36
timotimo thank you for your contributions :) 22:37