00:02 sena_kun joined 00:04 Altai-man_ left, softmoth left
Xliff \o/ 00:36
No .precomp lives again!
Rather, no-precomp-lock.
Eeet leeevs!
Now to get drunk and go pyrotechnical! 00:37
tests 00:43
Files=1307, Tests=113021, 239 wallclock secs (15.58 usr 2.57 sys + 1603.61 cusr 106.45 csys = 1728.21 CPU) 00:45
Weird. How is lizmat getting it faster than mine? 00:46
Must have better specs.
01:52 lucasb left 02:01 Altai-man_ joined 02:04 sena_kun left 04:02 sena_kun joined 04:04 Altai-man_ left 06:02 Altai-man_ joined 06:04 sena_kun left 06:43 Merfont left 06:44 Kaiepi joined
Kaiepi i can now get dns resolution to perform twice as well in v6.e compared to v6.c in the best case scenario, where the response to the AAAA query is received first and the address received can immediately be connected to 06:48
which i think is about as fast as i can get it 06:49
that depends on the connection to the dns server being the bottleneck though, on my vps that's not the case
Xliff \o Kaiepi 06:59
Kaiepi o/ 07:00
Xliff What are you working on? 07:01
07:16 Kaiepi left 07:18 Kaiepi joined
Xliff Ho hum.... I'm bored. 07:28
MasterDuke Xliff: you'll also have to `git push --tags` 07:29
Xliff MasterDuke++ 07:32
Current status of perl6 GLib projects
Hmm.... 07:33
07:34 Kaiepi left
Xliff MasterDuke: Doesn't look like I need to. I've pushed several times, already and just --tags doesn't seem to do anything 07:35
07:35 JJMerelo left
MasterDuke hm. maybe your git does it automatically. for me, i have to do a separate push with --tags 07:36
Xliff Aha! I had to refetch tags from upstream. 07:37
And now I have pushed and there they go. 07:38
What's up with the city tags?
Moscow, NewYork, Prague, SaltLake, etc? 07:39
MasterDuke those were old releases before the naming was changed to yyyy.mm
Xliff Ah.
Should I be upset that there was no WashingtonDC?
MasterDuke heh. i have no idea how the names were chosen, before my time 07:43
Xliff Ah.
OK. I think I've revived the parallel compiling thingy. 07:44
Still some bugs I need to work on. I should refresh the PR.
Still wondering why my spectest times are worse than lizmat's though.
MasterDuke mine are about half hers. i get around 132s usually. but i have a newer cpu with more cores 07:46
Xliff What are your specs?!?
MasterDuke ryzen 3700x
Xliff Actually. Try github.com/Xliff/rakudo.git - rakudo-precomp-nolock2 branch 07:47
Intel(R) Core(TM) i9-7900X CPU @ 3.30GHz here 07:48
It seems odd that I am getting 232 seconds here.
What is your memory speed?
MasterDuke what's your TEST_JOBS set to? 07:49
Xliff It's not.
MasterDuke mine is 12
you actually have 2 more physical cores than i do, it should be faster
Xliff Using 18 and retesting 07:50
MasterDuke my ram is 3200, but i doubt it makes a very big difference 07:51
lizmat Files=1307, Tests=113021, 217 wallclock secs (29.59 usr 8.52 sys + 3030.83 cusr 286.92 csys = 3355.86 CPU) 07:52
Xliff Files=1307, Tests=112793, 152 wallclock secs (25.43 usr 3.32 sys + 2731.36 cusr 144.13 csys = 2904.24 CPU)
Though now I'm failing tests.
07:53 Kaiepi joined
lizmat 2.4 GHz i9 here, with SSD and 32G 2400 MhZ DDR4 RAM 07:54
Xliff Wow. Mine came in 22 seconds slower than yours with one proc.
lizmat TEST_JOBS=16
Xliff Hmmmm..... TEST_JOBS=20 made mine slightly slower. 07:57
Files=1307, Tests=112812, 158 wallclock secs (26.24 usr 3.79 sys + 2840.94 cusr 149.92 csys = 3020.89 CPU)
MasterDuke Files=1307, Tests=113021, 136 wallclock secs (15.68 usr 2.34 sys + 1709.51 cusr 109.48 csys = 1837.01 CPU) 07:59
Xliff Hrm. Memory is 2666, here
So faster base clock and faster ram.
MasterDuke (but i'm not running the Inline::Perl5 tests, so that might explain the difference)
Xliff Why are my #Tests lower? 08:00
MasterDuke don't know. `make m-spectest` always does a `git pull`, so it should be up-to-date 08:01
Xliff I'm just doing "make spectest"
MasterDuke should be the same. i just have m-spectest in my history because i sometimes build the jvm backend 08:02
08:02 sena_kun joined
MasterDuke Files=1307, Tests=113021, 137 wallclock secs (15.72 usr 2.27 sys + 1688.57 cusr 107.34 csys = 1813.90 CPU) # first run on your branch 08:03
08:04 Altai-man_ left
Xliff Files=1307, Tests=112586, 156 wallclock secs (25.88 usr 3.59 sys + 2788.07 cusr 148.51 csys = 2966.05 CPU) 08:04
MasterDuke all tests passed
might just be high ipc for my cpu and/or all the intel cpu vuln mitigations working against you 08:05
Xliff Parse errors: No plan found in TAP output 08:06
MasterDuke but honestly i would expect faster times for you with those two extra physical cores
Xliff What does that mean?
Yeah, but my base clock is 3.3GHz
MasterDuke some error and the test file actually failed (i.e., not just a failed test, but a compiler error or something like that) 08:07
Xliff OK. That may be due to some of the problems I'm still trying to work out. 08:08
MasterDuke but there is a known problem that causes random fails like that in random test files. i get it even on master
Xliff :/
How is it determined if you run the Inline::Perl5 tests?
If it's installed? 08:09
MasterDuke i'll say at the beginning. `Inline::Perl5 not installed: not running Perl 5 integration tests`
Files=1307, Tests=113021, 128 wallclock secs (16.02 usr 2.33 sys + 1618.42 cusr 103.00 csys = 1739.77 CPU) # another run on your branch 08:12
Xliff \o/ 08:13
MasterDuke do you have any local modifications to your roast checkout? that might prevent it updating
Xliff I don't think so. This should be a fresh tree.
And it was running the right number of tests 8 hours ago (and passing... :/ ) 08:14
MasterDuke any recent solar flare activity on the east coast? some random bits flipped somewhere? 08:15
Xliff I know right?
Maybe it's all of the firework smoke...
MasterDuke maybe covid-19 has jumped to silicon 08:16
Xliff Now all computers will need face masks.
I so wish I had Photoshop skillz right now.
08:35 stoned75 left 08:37 stoned75 joined 08:38 HarmtH joined
Geth rakudo: 9ea66e13d0 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Improve wrapped text readability a bit

By adding an extra space after a . or a ?
rakudo: 6db1fb1dab | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Remove superfluous period
MasterDuke Xliff: does your branch help compilation times with your large projects? 09:10
Xliff Oh yes.
MasterDuke nice
Xliff Let me do some addition
Geth rakudo: 80aaede383 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Placeholder::NonPlaceholder message
Xliff MasterDuke: Long story short, any project with multiple .pm6 files will benefit. 09:12
Long dependency chains can benetif. 09:13
MasterDuke cool
nine I'm looking forward to seeing what in-process precompilation will do for those :) 09:15
MasterDuke are the two efforts complementary?
nine Yes. Xliff is working on different precompiling processes not having to wait for each other all the time. In-process precompilation gets rid of rakudo's startup overhead for one process precompiling multiple modules. 09:17
Both can be combined into an n:m model.
Also what helps multiple processes may become ground work for doing parallel in-process compilation
MasterDuke very nice 09:18
Geth rakudo: 4203186061 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Undeclared message
[Tux] Rakudo version 2020.06-29-g80aaede38 - MoarVM version 2020.06-20-g187b4564e
csv-ip5xs0.826 - 0.833
csv-ip5xs-207.917 - 8.244
csv-parser25.220 - 25.879
csv-test-xs-200.393 - 0.400
test7.636 - 8.580
test-t1.932 - 1.974
test-t --race0.863 - 0.878
test-t-2031.730 - 32.729
test-t-20 --race8.760 - 9.100
Xliff docs.google.com/spreadsheets/d/12j...=928938123 (Time info in columns N and O) 09:27
Oops. Not that one.
Geth rakudo: f70a3ccdea | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Attribute::Regex message
MasterDuke parallel is on your branch? 09:30
Xliff Yes 09:31
MasterDuke wow, nice
Xliff And in my projects the non-parallel is obtained using scripts/build.sh
That's for single-thread build. Multi-thread build is scripts/dependency-build.sh.
dependency-build.sh, actually could be used for any multi-module Raku projects. 09:32
09:52 leont joined
Geth rakudo: 3ffed2fbc9 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Redeclaration message
10:02 Altai-man_ joined 10:05 sena_kun left
lizmat Xliff: I just realized why my spectest numbers may be better 10:09
they're always the result of a *second* run of "make spectest", so that no pre-compilation of modules in t/spec is needed anymore 10:10
Geth rakudo: a7a1fe246a | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Redeclaration::Outer message
rakudo: cd8846ad14 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Dynamic::Postdeclaration message
rakudo: 83a126b3ce | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Dynamic::Package message
rakudo: 3add8615a7 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Import::Redeclaration message
rakudo: 3d9a9fc4a5 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Import::OnlystarProto message
lizmat m: my enum S1 <a b c>; my enum S2 <b c d>; say b # hmmm 11:19
camelia Potential difficulties:
Redeclaration of symbol 'b and c'.
at <tmp>:1
------> 3my enum S1 <a b c>; my enum S2 <b c d>7⏏5; say b # hmmm
Something went wrong in (PoisonedAlias)
Geth rakudo: 697596fda6 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::PoisonedAlias message

Also make it actually work: this appears to be called from deep in the bowels of the parser and needed native str attributes to actually work. The test in t/spec/S12-enums/basic.t actually passed for some reason, but it only ever produced the message:
   Something went wrong in (PoisonedAlias)
roast: 6b91d0e88c | (Elizabeth Mattijsen)++ | 2 files
Make X::Obsolete tests a bit less picky
rakudo: 56e5f7dc43 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Obsolete message
12:02 sena_kun joined 12:04 Altai-man_ left
Geth rakudo: 88b0e7a37d | (Elizabeth Mattijsen)++ | 2 files
Wordwrap X::Parameter::Default::TypeCheck message

Also allow for a .what parameter, to improve the message for the definition of variables with default values.
lizmat afk for a few hours&
nine I get a lot of make test failures on the OBS 12:44
build.opensuse.org/package/live_bu...5.1/x86_64 12:45
on all architectures
lizmat: I'm pretty sure t/02-rakudo/13-exceptions.t is because of your change to some exception message 13:49
14:02 Altai-man_ joined 14:05 sena_kun left 16:02 sena_kun joined 16:04 Altai-man_ left 16:48 softmoth joined
lizmat checks 17:10
17:12 softmoth left 17:13 lichtkind joined
timotimo that feeling when you've implemented what you consider a space saving measure, but aside from getting the lowest memory usage down, it also gets the highest memory usage up somehow?! 17:20
Geth rakudo: 7a93c90785 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Parameter::AfterDefault message
rakudo: 4589349553 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Drop the space after the last . or ?
rakudo: 821f582fa8 | (Elizabeth Mattijsen)++ | t/02-rakudo/13-exceptions.t
Adapt error message check to more accurate error message

This should unbreak all CI.
lizmat timotimo: loop { my $a = 42; $a but False } # eats about 15MB / second on my machine 17:26
aka leaks quite a bit 17:27
timotimo: loop { my $a; $a but False } # even faster at ~ 20 MB/sec
dogbert17 lizmat: is that the fallout from your permutations investigation yesterday? 17:30
lizmat it's the ultimate golf, I think, yes 17:31
m: sub a($:a) { } # I think this error message is... strange 17:32
camelia 5===SORRY!5=== Error while compiling <tmp>
In signature parameter, placeholder variables like $:a are illegal
you probably meant a named parameter: ':$a'
at <tmp>:1
------> 3sub a($:a7⏏5) { } # I think this error message is
lizmat $:a a placeholder variable? Wouldn't that be $^a ? 17:33
docs.raku.org/language/variables#index-entry-$: # TIL 17:34
dogbert17 didn't know that 17:35
lizmat m: { say $:foo }(foo => 42) 17:36
camelia 42
timotimo i did :))
dogbert17 :) 17:37
m: ("hello", 1, 22/7, 42, "world").grep(Int) for ^200000; say now - INIT now
camelia 1.01585777
dogbert17 m: grep(Int, ("hello", 1, 22/7, 42, "world")) for ^200000; say now - INIT now
camelia 4.31807473
dogbert17 what's happening here I wonder 17:38
lizmat the sub version doing a lot of work, before it calls the method?
dogbert17 I guess it could be 17:39
lizmat multi sub grep(Mu $test, +values, *%a) {
dogbert17 my $laze = values.is-lazy; 17:41
is it that one
lizmat yup 17:46
although I'm not sure why that's stored in a variable first, really 17:47
timotimo hrmpf. the memory usage varies as much as 0.5 megabytes; it's between 18 and 18.5 megs
(this is nqp-m -e '')
lizmat and it could probably benefit from looking whether there are any keys in %a before splatting them in
dogbert17 checking if something is lazy should be quite fast though 17:48
timotimo it's quite possibly a megamorphic callsite, though, unless grep itself is inlined
though + is flattening, potentially; not sure if we compile it non-flattening-ly when it doesn't need to
new-disp, of course, makes this a non-issue 17:49
lizmat dogbert17: map as a sub, is basically the same
dogbert17 new-disp, the solution to all out problems :-)
lizmat: yeah, I noticed that
timotimo not all, we also need RakuAST :P 17:51
dogbert17 it seems to be a bit dangerous to assume, like I tend to do, that the sub and method form of something whould take roughly the same time to execute 17:52
timotimo how about we systematically go through basically everything and record all the ratios 17:54
dogbert17 I have looked through some of them 17:58
18:02 leont left, Altai-man_ joined 18:05 sena_kun left
Geth rakudo: f550c9f97b | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Wordwrap X::Parameter::Placeholder message

And improve the message.
timotimo i just had to futz around a bit with the measurements, but now compile_mastop appears at 1.12% when nqp compiles MAST/Ops.nqp 18:09
i was wondering if we should have a few simpler versions of that method for some of our ops 18:10
i think i want to see what op the compile_mastop method is called with most often and perhaps special-case implement that 18:52
gfldex raku my @a = 1,2,3; say @a>>.WHAT; 18:56
raku: my @a = 1,2,3; say @a>>.WHAT;
evalable6 (Array)
gfldex Should I have expected this? 18:57
timotimo WHAT is too special for this to work
gfldex So Raku does not guarantee introspection in all cases. Makes sense but throws ENODOC. 18:59
raku: say (.WHAT for @a); 19:04
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/cYXe4JXFSN
Variable '@a' is not declared
at /tmp/cYXe4JXFSN:1
------> 03say (.WHAT for 08⏏04@a);
gfldex raku: my @a = 1,2,3; say (.WHAT for @a);
evalable6 ((Int) (Int) (Int))
gfldex I wonder if implementing .WHAT as a AST macro could make this work as expected. 19:08
19:31 stoned75 left
gfldex raku: my &c = {;}; say &c.name.so, &c.name.defined; 19:49
evalable6 FalseTrue
gfldex that just bit me when i used '.foo // .name' 19:50
I think that should be undefined. Also that's another ENODOC.
Or better should Block have a .name method? 19:51
If it should then 'Block({.file.IO.basename}:{.line})' is much better then the empty string. 19:52
ShimmerFairy as I recall, methods like .WHAT are supposed to be macros in the first place. 20:01
20:03 sena_kun joined 20:04 Altai-man_ left 20:14 camelia left
timotimo it compiles macro-like; it turns into a nqp::getwhat or nqp::what or so rather than a method call 20:18
20:25 lucs joined, camelia joined 20:27 sena_kun left, maggotbrain left, AlexDaniel left, japhb left, gugod left 20:29 sena_kun joined, maggotbrain joined, AlexDaniel joined, japhb joined, gugod joined 20:30 linkable6 left, tyil left, unicodable6 left, kawaii left, zostay left, tbrowder left 20:31 linkable6 joined, tyil joined, ShimmerFairy joined, nativecallable6 joined, releasable6 joined, unicodable6 joined, kawaii joined, zostay joined, tbrowder joined, tyil left, reportable6 joined, tellable6 joined, bisectable6 joined, committable6 joined, statisfiable6 joined, moon-child left, jnthn left, kawaii left 20:32 Geth joined, hoelzro joined, moon-child joined, jnthn joined 20:33 sourceable6 left, notable6 left, quotable6 left, coverable6 left, lizmat left, raku-bridge left, TimToady left, Voldenet left, robertle left, greppable6 joined, bloatable6 joined, shareable6 joined, benchable6 joined, sourceable6 joined, notable6 joined, quotable6 joined, coverable6 joined, lizmat joined, raku-bridge joined, TimToady joined, Voldenet joined, robertle joined, tyilanmenyn joined 20:34 dogbert17 left, jjatria left, gfldex left, SmokeMachine left, masak left, moritz left, dogbert17 joined, jjatria joined, gfldex joined, SmokeMachine joined, masak joined, moritz joined, HarmtH left, nebuchadnezzar left 20:35 [Tux] left, AlexDaniel` left, commavir left, HarmtH joined, nebuchadnezzar joined, samcv joined, [Tux] joined, AlexDaniel` joined, unclechu joined, commavir joined 20:36 tyilanmenyn left, Xliff left, go|dfish left, timotimo left 20:37 tyilanmenyn joined, Xliff joined, go|dfish joined, mst joined, sivoais joined, timotimo joined, Kaiepi left, TreyHarris left, literal left, samebchase- left 20:38 eater left, Kaiepi joined, TreyHarris joined, krunen joined, literal joined, samebchase- joined, Summertime joined, eater joined, tyilanmenyn is now known as tyil, nine left, jdv79 left, squashable6 left, Summertime left, eater left, Kaiepi left, TreyHarris left, krunen left, literal left, samebchase- left, tyil left, Xliff left, go|dfish left, mst left, sivoais left, timotimo left, [Tux] left, AlexDaniel` left, unclechu left 20:39 commavir left, HarmtH left, nebuchadnezzar left, samcv left, dogbert17 left, jjatria left, gfldex left, SmokeMachine left, masak left, moritz left, greppable6 left, bloatable6 left, shareable6 left, benchable6 left, sourceable6 left, notable6 left, quotable6 left, coverable6 left, lizmat left, raku-bridge left, TimToady left, Voldenet left, robertle left, Geth left, hoelzro left, moon-child left, jnthn left, reportable6 left, tellable6 left, bisectable6 left, committable6 left, statisfiable6 left, linkable6 left, ShimmerFairy left, nativecallable6 left, releasable6 left, unicodable6 left, zostay left, tbrowder left, sena_kun left, maggotbrain left, AlexDaniel left, japhb left, gugod left, lucs left, camelia left, lichtkind left, vrurg left, evalable6 left, [Coke] left, MasterDuke left, tailgate left, rba left, eater joined, Summertime joined, samebchase- joined, literal joined, krunen joined, TreyHarris joined, Kaiepi joined, timotimo joined, sivoais joined, mst joined, go|dfish joined, Xliff joined, tyil joined, commavir joined, unclechu joined, AlexDaniel` joined, [Tux] joined, samcv joined, nebuchadnezzar joined, HarmtH joined, moritz joined, masak joined, SmokeMachine joined, gfldex joined, jjatria joined, dogbert17 joined, robertle joined, Voldenet joined, TimToady joined, raku-bridge joined, lizmat joined, coverable6 joined, quotable6 joined, notable6 joined, sourceable6 joined, benchable6 joined, shareable6 joined, bloatable6 joined, greppable6 joined, jnthn joined, moon-child joined, hoelzro joined, Geth joined, statisfiable6 joined, committable6 joined, bisectable6 joined, tellable6 joined, reportable6 joined, tbrowder joined, zostay joined, unicodable6 joined, releasable6 joined, nativecallable6 joined, ShimmerFairy joined, linkable6 joined, gugod joined, japhb joined, AlexDaniel joined, maggotbrain joined, sena_kun joined, camelia joined, lucs joined, lichtkind joined, vrurg joined, evalable6 joined, MasterDuke joined, squashable6 joined, [Coke] joined, tailgate joined, rba joined, nine joined, jdv79 joined, rypervenche joined, chansen_ joined, chansen_ left, rypervenche left, rba left 20:40 AlexDaniel` left, unclechu left, chansen_ joined, rypervenche joined, rba joined 20:41 kawaii joined, tailgate left, tailgate joined 20:42 nine left, jdv79 left, nine joined, jdv79 joined 20:44 AlexDaniel` joined 20:49 HarmtH left, nebuchadnezzar left, samcv left 20:50 HarmtH joined, nebuchadnezzar joined, samcv joined 20:57 softmoth joined 20:58 unclechu joined 21:17 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Wordwrap X::Parameter::Default::TypeCheck message 21:17
travis-ci.org/rakudo/rakudo/builds/705099537 github.com/rakudo/rakudo/compare/5...b0e7a37d4f
21:17 travis-ci left
timotimo i'm annoyed that rakudo doesn't compile with my changes to nqp's mast compiler :\ 21:23
one potential win could perhaps be replacing the "constants" the mastcompiler uses, like $MVM_operand_type_var, with a literal in some kind of preprocessing step, or manually and putting the source in a comment or so 21:46
but probably tiny in terms of performance
22:02 Altai-man_ joined 22:04 sena_kun left 22:14 leont joined 22:46 leont left
Xliff Does anyone here know of a terminal that supports a graphical prompt? 23:16
Kinda looking for this: i.imgur.com/Ffpe8l7.png 23:17
lucs I hope not.
Xliff LOL
Actually, I'm in it for the Git emblems. 23:18
rypervenche Xliff: That's just airline or powerline. 23:33
23:42 JRaspass joined 23:47 Xliff left