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.
00:43 patrickb left 01:00 lucasb left 01:36 TreyHarris left
Geth rakudo: vrurg++ created pull request #2731:
Fix for rakudo/rakudo#2169
03:34
synopsebot RAKUDO#2169 [open]: github.com/rakudo/rakudo/issues/2169 Assigning Nil to a scalar declared with captured type changes it's container metaclass to GenericHOW
Geth roast: vrurg++ created pull request #516:
Tests for rakudo/rakudo#2169
03:37 sortiz left 05:45 MasterDuke left
Geth roast/cur-emulates: 2ae093b893 | (Nick Logan)++ | 5 files
Add tests for `emulates`
06:19
rakudo: ugexe++ created pull request #2732:
Add basic `emulates` support to CURs
06:29
08:41 eater joined
lizmat Files=1267, Tests=88067, 403 wallclock secs (20.61 usr 6.41 sys + 2909.33 cusr 227.66 csys = 3164.01 CPU) 08:42
08:43 eater left 08:44 eater joined 08:45 eater left 08:54 eater joined 09:24 ufobat joined 10:08 leont joined 10:20 leont left 11:09 squashable6 left 11:10 squashable6 joined 11:31 epony left 11:33 epony joined 13:00 lucasb joined
lizmat notable6: weekly 13:07
notable6 lizmat, 5 notes: gist.github.com/4b1ddb69ac3369d24b...6b6e645ebd
13:16 scovit joined
scovit Hello, can I propose a small change, $out.say(x) instead of what is already there in src/core/io_operators.pm6, line 14 13:17
speedsup quite a lot: yes | head -n1000000 | time perl6 -e 'for lines() { .say }' > /dev/null 13:18
Geth rakudo: scovit++ created pull request #2734:
Speed up Mu.say
13:22
13:33 ufobat_ joined 13:36 ufobat left
Geth rakudo: 9770c1aa15 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm6
Make say(\x) about 8% faster

Adaptation of github.com/rakudo/rakudo/pull/2734 , scovit++ for the spotting of this opportunity. Alas, we need to call .gist in the say sub as we have spectest that depend on `say` calling `.gist` even on `Str`.
14:10
|Tux| Rakudo version 2018.12-337-ga8cd286a4 - MoarVM version 2018.12-117-gdcafbc4c7
csv-ip5xs0.730 - 0.750
csv-ip5xs-205.948 - 6.076
csv-parser22.328 - 22.719
csv-test-xs-200.426 - 0.430
test7.854 - 7.913
test-t1.818 - 1.905
test-t --race0.855 - 0.859
test-t-2031.336 - 32.197
test-t-20 --race10.217 - 10.489
14:15
14:20 dogbert2_ joined
dogbert2_ lizmat: did you see colabti.org/irclogger/irclogger_lo...03-02#l662 ? 14:21
lizmat nope, didn't
I don't backlog that much anymore
would help if there was an issue for it :-) 14:22
dogbert2_ let me see what I can do about that :) 14:24
lizmat ++dogbert2_
timotimo lizmat: github.com/timo/perl6-kate-syntax/issues/1 - could this go in the weekly? point out that what i've built is barely a start on that kate syntax file, but if somebody feels up to the task they could take it and run with it?
yoleaux 07:36Z <Xliff> timotimo: OK, much of the gdk_x11_ calls that use GdkWindow as the first parameter are now in, please let me know what other routines you are looking for.
dogbert2_ grr, the examples have disappeared, I'll see if I can get hold of them again 14:30
lizmat, timotimo: R#2735 14:49
synopsebot R#2735 [open]: github.com/rakudo/rakudo/issues/2735 %h{$a}{$b}{$c} = True in a loop with different abcs is really slow
lucasb sorry if a silly question, but why the check against IO::Handle is needed in the previous commit? 14:52
lizmat lucasb: because you can create your own class with a "print" method and put that in $*OUT
and all should still work
(as in: you don't have to supply a "say" method) 14:53
lucasb this is just because method 'print' is part of some contract and method 'say' isn't?
lizmat nqp::can(...,'say') was another option, but that drowned out the optimization
indeed.... although I'm not sure that contract is formalized anywhere else but the spectest
timotimo perhaps not very surprisingly, the code spends a lot of time in method assigned of ContainerDescriptor::VivifyHash 14:56
out of BOOTSTRAP.nqp
lucasb what about sub put()? IO::Handle also has a 'put' method. 14:57
timotimo it looks like it also hits the "slow path" of the rakudo_scalar contspec's 'store' entry, also in BOOTSTRAP.nqp at line 1610 here
oh, my benchmark isn't doing exactly what i thought i wanted to do 14:58
m: my @akeys = "aa".."zz"; for ^1_000 { my %h; for @akeys -> $ak { %h{$ak}{$ak}{1} = True } } 15:00
camelia ( no output )
timotimo is this an acceptable golfing of the benchmark?
dogbert2_: ^
lizmat timotimo: not sure... looks like it is not acceptable to have more than 1 key in the top level hashes 15:02
timotimo the outermost you mean? 15:03
or the innermost? 15:06
i didn't actually download the code itself :S
dogbert2_ timotimo: the zipfile is only 2 Meg :) 15:07
timotimo it's more that i don't have a nice workflow yet for "download an archive file, extract it to a temporary folder, then open a shell there"
lizmat I think one of the main slowdowns is that the keys are Match objects that need to be stringified each time they're used
changing them to strings once makes it go from 10 secs -> 8.8 seconds for me 15:08
timotimo OK, i started with strings right away, so i didn't see that in my profile 15:10
i used to have zsh aliases for "path to the last file i downloaded" and also "dtrx the last file i downloaded here"
lizmat I also changed the for loop to "for $log.IO.lines -> $l {"
jdv79 i got a segfault last night and it surprised me cause i havent seen one since the major async segfault cleanups
couldnt repro though 15:11
timotimo you don't happen to have the core dump lying around in "coredumpctl list"?
Geth rakudo: scovit++ created pull request #2736:
Speed-up reading $*ARGFILEs
scovit didn't understand my commit, but it seems to work on my workstation\ 15:12
I don't understand what flat is there for
the speedup is dramatical 15:13
which means that even if wrong, I'm sure you will find another optimization :)
timotimo oh 15:14
there's a difference there 15:15
the sub version also passes the gather block to flat, whereas the method one doesn't
scovit ah
now I get it
15:16 releasable6 left, nativecallable6 left, shareable6 left, committable6 left, nativecallable6 joined, ChanServ sets mode: +v nativecallable6, shareable6 joined, releasable6 joined, committable6 joined, ChanServ sets mode: +v shareable6, ChanServ sets mode: +v releasable6, ChanServ sets mode: +v committable6
scovit maybe you do not want a gather block there? 15:17
timotimo building a "real" iterator there could be faster, yeah
dogbert2_ lizmat: just printing all the lines on screen takes quite a bit of time, at least on my system 15:19
lizmat dogbert2_: yeah, that's the bottleneck of having to look up $*OUT every time mostly
BTW 15:23
perl6 -e 'for ^1000000 { print "a" }' >/dev/null # 2.3 seconds 15:24
perl6 -e 'my $*OUT = PROCESS::<$OUT>; for ^1000000 { print "a" }' >/dev/null # 1 second
getting a lexical $*OUT in your scope, already speeds up printing significantly 15:25
this all due to &DYNAMIC having to do much less in that case
timotimo in theory we have a dynamic cache, but i guess in that situation it literally just sees the lexical and is happy?! 15:26
lizmat I think it already matches the nqp::getlexdyn(name) in that case
dogbert2_ lizmat: do you think Str vs Match is the only problem wrt the Hash assignment code ? 16:02
Geth nqp: 374e9fddbc | (Paweł Murias)++ | src/vm/js/nqp-runtime/resolve-sourcemap-browser.js
[js] Fix .wasm for source maps loading
16:23
nqp: 89587e5f20 | (Paweł Murias)++ | src/vm/js/nqp-runtime/core.js
[js] Fix evalling js code at runtime in the browser
nqp: 2d4f2a977a | (Paweł Murias)++ | 5 files
[js] Make nqp::getcodelocation work in the browser
rakudo: scovit++ created pull request #2737:
Speedup ARGFILES read when there is only one input
16:58
17:44 ufobat_ left
lizmat dogbert2_: no, but it really doesn't help :-) 18:31
notable6: weekly reset 19:34
notable6 lizmat, Moved existing notes to “weekly_2019-03-04T19:34:58Z”
lizmat reportable6: 2019-02-25T12:00:00Z 2019-03-04T00:00:00Z 20:07
reportable6 lizmat, OK, working on it! This may take up to 40 seconds
lizmat, gist.github.com/099f7143ff7356bb88...5133088133 20:08
lizmat reportable6: 2019-02-01T12:00:00Z 2019-03-01T00:00:00Z 20:09
reportable6 lizmat, OK, working on it! This may take up to 40 seconds
lizmat, gist.github.com/09786ffe61de5a4448...6a426ff614 20:10
jnthn Turns out the place I have been having a long weekend has busted wifi, and very weak edge. At least I've rested a bit. :) I'll be back about tomorrow, and try to catch up on things. :) 20:16
yoleaux 2 Mar 2019 12:29Z <lizmat> jnthn: looks like rakudo.org seems to be missing a IPv6 port setting (see screenshots.page)
jnthn lizmat: Hm, it has an AAAA record, any idea what else it needs? 20:17
I couold just delete that and make it IPv4 only for a while, though.
lizmat the nginx / apache config needs to know about it in its Listen statement ?
jnthn Oh, that's not something I even have access to do, I think? 20:18
I only control the domain.
lizmat then... who controls the server ?
jnthn And so DNS
Dunno, isn't it the p6c.org one?
lizmat yep, I think so 20:19
jnthn moritz++ likely knows
I think there's a collection of people with access to that; I ain't one of them, so far as I know. :) 20:20
lizmat neither, but timotimo is afaik ?
jnthn Well, that's two folks mentioned who might be able to look :) 20:21
AlexDaniel is reminded that he needs to set up AAAA records on all his websites… uhhh… 20:53
moritz whatcha need? 21:03
you can use 2001:780:101:ff00::80:1 as AAAA record for rakudo.org
jnthn moritz: My best guess is: I did that, but the previous DNS wasn't set up for IPv6 21:05
And so the server ain't configured for it either (probably by "the server" I mean "the web server configuration"
)
But because the previous DNS host dropped the records the moment the domain was transferred, I didn't have chance to look at what was there before, so just put in the A and AAAA 21:06
21:11 epony left
moritz $ curl -s6 rakudo.org/|grep title 21:20
<title>Rakudo Perl 6 Compiler
- Rakudo Compiler for Perl 6 Programming Language</title>
better?
jnthn Seems like :) 21:23
moritz++
lizmat and yet another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/03/04/...is-summer/ 21:29
moritz lizmat: ... and twot :D 21:31
lizmat moritz++ # thanks!
21:42 ExtraCrispy left
jnthn lizmat++ # weekly 22:22
Sleep time...rest of the way to Munich for me tomorrow :)
23:01 gfldex joined 23:20 lucasb left 23:34 MasterDuke joined 23:35 MasterDuke left, MasterDuke joined 23:41 sortiz joined