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| |
|
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
|