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:00
reportable6 left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | There're few locations in World where nqp::getcomp is used. Why isn't it pre-cached in an attribute? | 00:00 | |||||||||||||||||||||||||||||||||||||
Wouldn't it be slightly faster? | |||||||||||||||||||||||||||||||||||||||
00:00
reportable6 joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | i could imagine that getcomp is fast | 00:09 | |||||||||||||||||||||||||||||||||||||
it's a hash lookup, i see | |||||||||||||||||||||||||||||||||||||||
though i suppose with the typical number of compilers registered at the same time being probably between 2 and 5 a little list could be faster | 00:10 | ||||||||||||||||||||||||||||||||||||||
00:34
lucasb left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: World only deals with "perl6". So, I gues this one could be pre-cached in an attribute. | 00:57 | |||||||||||||||||||||||||||||||||||||
Just hope that attribute access is optimizied. | 00:58 | ||||||||||||||||||||||||||||||||||||||
timotimo | do you have a benchmark or measurement or something? | 01:04 | |||||||||||||||||||||||||||||||||||||
i've got some outputs | 01:05 | ||||||||||||||||||||||||||||||||||||||
hm. while running, every time INITIALIZE-DYNAMIC is called, eh? | 01:07 | ||||||||||||||||||||||||||||||||||||||
ah, that is to get at language version | 01:08 | ||||||||||||||||||||||||||||||||||||||
my code uses array access and runs into the "out of range" condition quite often | 01:09 | ||||||||||||||||||||||||||||||||||||||
which wants to see if $*INDEX is there to put in the exception | |||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: I didn't do any testing so far. Just completing new subtest semantics for 6.e and stumbled upon this. | 01:10 | |||||||||||||||||||||||||||||||||||||
It was just thinking aloud. | |||||||||||||||||||||||||||||||||||||||
timotimo | right | 01:11 | |||||||||||||||||||||||||||||||||||||
vrurg | BTW, I postponed my games with gdb. I realized that it was hanging before even reaching any mutex on the thread context. Moreover, the freezing point is deeply inside utf8 processing, where it walks over graphemes. | 01:12 | |||||||||||||||||||||||||||||||||||||
I tried to debug it and it was even more confusing because as long as I tried to step opver the macro ā it was freezing. But step into ā and it worked! | |||||||||||||||||||||||||||||||||||||||
So long, as I don't currently have direct need in debuging moar, I decided to postpone it for better times. :) | 01:13 | ||||||||||||||||||||||||||||||||||||||
timotimo | in some places getcomp is used to check if the backend is moar or jvm or whatever | 01:14 | |||||||||||||||||||||||||||||||||||||
in files that use gen-comp, we could replace that with #?if pieces | |||||||||||||||||||||||||||||||||||||||
get-cat* | |||||||||||||||||||||||||||||||||||||||
gen-cat* | |||||||||||||||||||||||||||||||||||||||
vrurg | BTW, I never seen #? been documented. Is it somewhere? | 01:15 | |||||||||||||||||||||||||||||||||||||
timotimo | hm, dunno | 01:16 | |||||||||||||||||||||||||||||||||||||
it's entirely a thing gen-cat.pl does, though, so not sure where that doc would go | |||||||||||||||||||||||||||||||||||||||
vrurg | Oh, ok, sure. | 01:18 | |||||||||||||||||||||||||||||||||||||
I didn't know gen-cat does it. Now the meaning of what you said above makes better sense. | 01:19 | ||||||||||||||||||||||||||||||||||||||
timotimo | oops, the gist makes my browser kind of freeze up | 01:21 | |||||||||||||||||||||||||||||||||||||
vrurg | And I found the backend piece. Makes total sense replacing it with #?if | ||||||||||||||||||||||||||||||||||||||
timotimo | well, many places that do it | 01:22 | |||||||||||||||||||||||||||||||||||||
i don't think it's exceptionally slow, but it could be 100% faster | |||||||||||||||||||||||||||||||||||||||
vrurg | A little bit here, a little bit there... | 01:23 | |||||||||||||||||||||||||||||||||||||
timotimo | gist.githubusercontent.com/timo/15...tfile1.txt - this is a very very large text file | ||||||||||||||||||||||||||||||||||||||
it has a stack trace whenever nqp::getcomp is called | |||||||||||||||||||||||||||||||||||||||
during the compilation and running of a little script, rc-forest-fire | |||||||||||||||||||||||||||||||||||||||
hm, actually | 01:24 | ||||||||||||||||||||||||||||||||||||||
about 1/3rd in the compiler ends | |||||||||||||||||||||||||||||||||||||||
the rest is almost all just DYNAMIC -> INITIALIZE-DYNAMIC | |||||||||||||||||||||||||||||||||||||||
vrurg | Method calls on getcomp are definitely not the fastest thing even if getcomp itself is fast enough. | 01:32 | |||||||||||||||||||||||||||||||||||||
So, in some cases it worth caching not the compiler itself, but method output if it's persistent per-unit. | |||||||||||||||||||||||||||||||||||||||
03:02
pamplemousse left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/master: 21 commits pushed by (Vadim Belman)++ review: github.com/rakudo/rakudo/compare/7...9d1354979a |
03:10 | |||||||||||||||||||||||||||||||||||||
roast/master: 5 commits pushed by (Vadim Belman)++ | 03:11 | ||||||||||||||||||||||||||||||||||||||
vrurg | Almost half a year marathon is finally over. Perhaps... | 03:13 | |||||||||||||||||||||||||||||||||||||
03:54
travis-ci joined
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Vadim Belman 'Merge pull request #2946 from vrurg/problem-solving-3 | 03:54 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/572575092 github.com/rakudo/rakudo/compare/7...9d1354979a | |||||||||||||||||||||||||||||||||||||||
03:54
travis-ci left
04:12
Kaiepi left,
Kaiepi joined
06:00
reportable6 left
06:03
reportable6 joined,
ChanServ sets mode: +v reportable6
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: cygx++ created pull request #573: Enable DLL-releated MoarVM ops |
06:52 | |||||||||||||||||||||||||||||||||||||
rakudo: cygx++ created pull request #3123: implement Nativecall::DLL |
06:54 | ||||||||||||||||||||||||||||||||||||||
06:55
lizmat joined
06:56
lizmat left
08:57
lizmat joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 31a00384a6 | (Elizabeth Mattijsen)++ | solutions/language/PATH-TO-RAKU.md Refince external references section Add specific mention of Rosetta Code |
09:04 | |||||||||||||||||||||||||||||||||||||
lizmat | s/refince/refine/ duh :-( | 09:05 | |||||||||||||||||||||||||||||||||||||
09:30
Kaiepi left
09:34
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 92fd411b67 | (Elizabeth Mattijsen)++ | solutions/language/PATH-TO-RAKU.md Open the door to a joint rename / next version event Also fix some erroneous backslashes |
09:37 | |||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: cfd072d974 | (Elizabeth Mattijsen)++ | solutions/language/PATH-TO-RAKU.md Mention a "Raku Foundation" as part of YAS |
09:47 | ||||||||||||||||||||||||||||||||||||||
10:04
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
patrickb | o/ | 10:04 | |||||||||||||||||||||||||||||||||||||
10:16
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
kawaii | \o | 10:53 | |||||||||||||||||||||||||||||||||||||
|Tux| |
|
11:05 | |||||||||||||||||||||||||||||||||||||
patrickb | .tell AlexDaniel I keep extending one of my "Perl 6 rename discussion" posts that contains a list of steps to do. It believe it can serve as a good starting point for the actual work given we do decide to rename. | 11:09 | |||||||||||||||||||||||||||||||||||||
.tell AlexDaniel But I'm reluctant to put that in a more formal place, as that might be seen as taking the second step before the first one. (First one being actually deciding on the rename.) | 11:11 | ||||||||||||||||||||||||||||||||||||||
And with that I'm back to vacationing. o/ | 11:13 | ||||||||||||||||||||||||||||||||||||||
11:13
patrickb left
11:14
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
patrickb | .tell AlexDaniel Forgot the link, here it is: github.com/perl6/problem-solving/i...-520216031 | 11:15 | |||||||||||||||||||||||||||||||||||||
11:15
patrickb left
11:19
lizmat joined
12:00
reportable6 left
12:04
reportable6 joined
12:11
lizmat left
12:14
lizmat joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | hmm | 12:33 | |||||||||||||||||||||||||||||||||||||
lizmat: ā see that list | 12:34 | ||||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel: sorry, what list (was offline for a bit) | 12:43 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: colabti.org/irclogger/irclogger_lo...08-16#l102 | 12:44 | |||||||||||||||||||||||||||||||||||||
lizmat: this comment: github.com/perl6/problem-solving/i...-520216031 | 12:45 | ||||||||||||||||||||||||||||||||||||||
lizmat | Ah, hadn't noticed it is being expanded... wlll look at that | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: how about we close the thread for a week? | 12:46 | |||||||||||||||||||||||||||||||||||||
lizmat: I'm tired waking up to a pagefull of notifications | |||||||||||||||||||||||||||||||||||||||
lizmat | I'm fine, if you can... seems I can not :-) Just close it, but that wouldn't stop comments | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | there are still some useful bits being mentioned, but you have to look really close to see them | 12:47 | |||||||||||||||||||||||||||||||||||||
reason ātoo heatedā that sounds about right | |||||||||||||||||||||||||||||||||||||||
lizmat | yeah, thanks | 12:50 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: do you see the comment box right now? | 12:51 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes, but...some folks (like moritz++) who will vote on it are still chiming in, among those who are being unpleasant. But maybe those who are part of the perl 6 org can still post? | ||||||||||||||||||||||||||||||||||||||
lizmat | I think moritz can still post now | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: but can you? | ||||||||||||||||||||||||||||||||||||||
I think I made you the owner of perl6 org a few days ago | 12:52 | ||||||||||||||||||||||||||||||||||||||
lizmat | seems I can | ||||||||||||||||||||||||||||||||||||||
jnthn | Ah, it's limited to collaborators | ||||||||||||||||||||||||||||||||||||||
I guess that's folks in the Perl 6 org? | |||||||||||||||||||||||||||||||||||||||
If so, I'm fine with it. | 12:53 | ||||||||||||||||||||||||||||||||||||||
I think I've heard enough from the outside by now. :P | |||||||||||||||||||||||||||||||||||||||
(Also, I marked a couple of them that were general rants about Perl 6 as off-topic because, well, they are.) | 12:54 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | thank you | ||||||||||||||||||||||||||||||||||||||
kawaii: hello | 12:55 | ||||||||||||||||||||||||||||||||||||||
kawaii | AlexDaniel: hello to you too friend | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | kawaii: can you tell me if you can still see the comment box here? github.com/perl6/problem-solving/issues/81 | 12:56 | |||||||||||||||||||||||||||||||||||||
kawaii: like, can you still leave comments on that thread or not? | |||||||||||||||||||||||||||||||||||||||
kawaii | AlexDaniel: doesn't look like I can! | 12:57 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | kawaii: ok, I see. Thanks! | 12:59 | |||||||||||||||||||||||||||||||||||||
anyway github.com/perl6/problem-solving/i...-522000319 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel takes a deep breath | 13:02 | ||||||||||||||||||||||||||||||||||||||
jnthn: I think it's limited to this list: github.com/orgs/perl6/people?utf8=...le%3Aowner | 13:03 | ||||||||||||||||||||||||||||||||||||||
btw toddr is in it because there were some potential limitations for repo management for the upcoming old-issue-tracker repo | 13:05 | ||||||||||||||||||||||||||||||||||||||
kawaii | It was an excellent thread with some really good discussion points | 13:06 | |||||||||||||||||||||||||||||||||||||
AlexDaniel: do you know about the status of the star release? | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | kawaii: no, you need to ask hankache and clarkema | 13:07 | |||||||||||||||||||||||||||||||||||||
kawaii: or maybe open a new ticket here? github.com/rakudo/star/issues | |||||||||||||||||||||||||||||||||||||||
asking for a new release | |||||||||||||||||||||||||||||||||||||||
kawaii | I'm sure one of them will be notified by you mentioning their names, no need for me to harass further :) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | kawaii: not exactly | 13:09 | |||||||||||||||||||||||||||||||||||||
kawaii: clarkema is on #perl6 but not here | |||||||||||||||||||||||||||||||||||||||
kawaii | ah then I must be annoying it seems :( | 13:10 | |||||||||||||||||||||||||||||||||||||
oh looks like you already poked him in #perl6 | |||||||||||||||||||||||||||||||||||||||
:) | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | maybe today is the day when I'll finally bring tellable6 up | 13:12 | |||||||||||||||||||||||||||||||||||||
wish me luck x) | |||||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: good luck! :) | ||||||||||||||||||||||||||||||||||||||
greppable6: use v6\.\* | 13:15 | ||||||||||||||||||||||||||||||||||||||
greppable6 | vrurg, 6 lines, 3 modules: gist.github.com/5d3859367f37a5561e...03ae59883a | ||||||||||||||||||||||||||||||||||||||
vrurg | greppable6: use v6\.e | 13:16 | |||||||||||||||||||||||||||||||||||||
greppable6 | vrurg, Found nothing! | ||||||||||||||||||||||||||||||||||||||
13:31
Kaiepi left,
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel jnthn looks like you cannot add emojis to comments anymore | 13:33 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: yeah | ||||||||||||||||||||||||||||||||||||||
there's no fine-grained control over this | |||||||||||||||||||||||||||||||||||||||
13:52
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
[Coke] wonders how many gists Whateverable has at this point | 13:58 | ||||||||||||||||||||||||||||||||||||||
Oh: 10,147 | |||||||||||||||||||||||||||||||||||||||
[Coke] wasn't expecting that to be public for some reason. :) | |||||||||||||||||||||||||||||||||||||||
moritz | jnthn, lizmat: yes, I can still comment (I'm org owner as well) | 14:03 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | [Coke]: it's weird, there are several ways I'm abusing github yet the only complaint I got so far was that I have more than two accounts | 14:45 | |||||||||||||||||||||||||||||||||||||
[Coke] | regarding nuance comment on the ticket: I think we already lost the nuance battle, and this will not make it worse. | 14:47 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | it's more like using than abusing, but I'm surprised I didn't trigger any automated ban hammer | ||||||||||||||||||||||||||||||||||||||
14:56
pamplemousse joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | vrurg: did the list of "every place that calls getcomp" end up helping more than what we already discussed? | 15:12 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 238f8e5739 | (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) |
15:48 | |||||||||||||||||||||||||||||||||||||
rakudo: 960e5b4a43 | (Timo Paulssen)++ | src/core/CompUnit/PrecompilationRepository.pm6 flush stderr in stagestats report |
|||||||||||||||||||||||||||||||||||||||
timotimo | ^- stagestats just became a whole lot funkier | ||||||||||||||||||||||||||||||||||||||
rakudo: 0fbf92ca32 | (Timo Paulssen)++ | src/core/CompUnit/PrecompilationRepository.pm6 Merge branch 'nested_stagestats' |
|||||||||||||||||||||||||||||||||||||||
timotimo | i'd kind of like a RAKUDO_COMPILER_REPORT_PORT=9999 where it'd spit out like udp messages or something at different points in compilation, including when it precompiles dependent modules and such | 15:51 | |||||||||||||||||||||||||||||||||||||
15:59
pamplemousse left,
pamplemousse joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: I didn't get time for this. Finished with subsets at 11pm. | 16:15 | |||||||||||||||||||||||||||||||||||||
timotimo | no problem at all :) | 16:17 | |||||||||||||||||||||||||||||||||||||
vrurg | But I have noted it alongside some other stuff. And if things go this way, in few months my personal task list would be the size of issues list on rakudo... ;) | 16:18 | |||||||||||||||||||||||||||||||||||||
timotimo | i know that feeling | 16:19 | |||||||||||||||||||||||||||||||||||||
vrurg | m: subset SS of Int where { .defined }; my SS $v; | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
vrurg | Which bot follows master, I don't remember? | ||||||||||||||||||||||||||||||||||||||
MasterDuke | benchable6: HEAD compare sub foo($a, $b, $c, $d) { my $e = $a; my $f = $b; my $g = $c; my $h = $d; $e++; $f++; $g++; $h++; $e+$f+$g+$h }; my $s1 = 0; for ^1_000_000 -> $a, $b, $c, $d { $s1 = foo($a, $b, $c, $d) }; say $s1; ||| sub bar($a is copy, $b is copy, $c is copy, $d is copy) { $a++; $b++; $c++; $d++; $a+$b+$c+$d }; my $s2 = 0; for ^1_000_000 | ||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, starting to benchmark the 1 given commit | ||||||||||||||||||||||||||||||||||||||
MasterDuke | -> $a, $b, $c, $d { $s2 = bar($a, $b, $c, $d) }; say $s2; | ||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, No new data found | ||||||||||||||||||||||||||||||||||||||
vrurg | m: use v6.e.PREVIEW; subset SS of Int where { .defined }; my SS $v; | 16:20 | |||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
MasterDuke | benchable6: compare HEAD sub foo($a, $b, $c, $d) { my $e = $a; my $f = $b; my $g = $c; my $h = $d; $e++; $f++; $g++; $h++; $e+$f+$g+$h }; my $s1 = 0; for ^1_000_000 -> $a, $b, $c, $d { $s1 = foo($a, $b, $c, $d) }; say $s1; ||| sub bar($a is copy, $b is copy, $c is copy, $d is copy) { $a++; $b++; $c++; $d++; $a+$b+$c+$d }; my $s2 = 0; for ^1_000_000 | 16:21 | |||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, starting to benchmark the 1 given commit | ||||||||||||||||||||||||||||||||||||||
MasterDuke | -> $a, $b, $c, $d { $s2 = bar($a, $b, $c, $d) }; say $s2; | ||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, gist.github.com/10b2bab00c6eeb58f3...ef43f91e49 | ||||||||||||||||||||||||||||||||||||||
timotimo | oh no, the message was too long | 16:22 | |||||||||||||||||||||||||||||||||||||
MasterDuke | benchable6: compare HEAD sub foo($a,$b,$c,$d){my $e=$a;my $f=$b;my $g=$c;my $h=$d;$e++;$f++;$g++;$h++;$e+$f+$g+$h};my $s1=0; for ^1_000_000 -> $a,$b,$c,$d {$s1=foo($a,$b,$c,$d)}; say $s1; ||| sub bar($a is copy,$b is copy,$c is copy,$d is copy) {$a++;$b++;$c++;$d++;$a+$b+$c+$d};my $s2=0; for ^1_000_000 -> $a,$b,$c,$d {$s2=bar($a,$b,$c,$d)};say $s2; | 16:23 | |||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, starting to benchmark the 1 given commit | ||||||||||||||||||||||||||||||||||||||
MasterDuke, Ā¦HEAD: Ā«Benchmark: ā¤Ā«timed out after 10 secondsĀ»Ā» | 16:24 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: āWhich bot follows master, I don't remember?ā any bot that's not broken xD | ||||||||||||||||||||||||||||||||||||||
MasterDuke | benchable6: compare HEAD sub foo($a,$b,$c,$d){my $e=$a;my $f=$b;my $g=$c;my $h=$d;$e++;$f++;$g++;$h++;$e+$f+$g+$h};my $s1=0; for ^500_000 -> $a,$b,$c,$d {$s1=foo($a,$b,$c,$d)}; say $s1; ||| sub bar($a is copy,$b is copy,$c is copy,$d is copy) {$a++;$b++;$c++;$d++;$a+$b+$c+$d};my $s2=0; for ^500_000 -> $a,$b,$c,$d {$s2=bar($a,$b,$c,$d)};say $s2; | ||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, starting to benchmark the 1 given commit | ||||||||||||||||||||||||||||||||||||||
MasterDuke, Ā¦HEAD: Ā«Benchmark: ā¤Ā«timed out after 10 secondsĀ»Ā» | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | moritz: I think camelia is still not fixed | ||||||||||||||||||||||||||||||||||||||
MasterDuke: maybe try committable first? | 16:25 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | AlexDaniel: can you increase benchable6's timeout? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | aaah sorry it's `compare` thing | ||||||||||||||||||||||||||||||||||||||
benchable6: vars | |||||||||||||||||||||||||||||||||||||||
benchable6 | AlexDaniel, timeout=10 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | benchable6: timeout=30 | ||||||||||||||||||||||||||||||||||||||
benchable6 | AlexDaniel, timeout is now set to ā30ā (default value is ā10ā) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | try again? | ||||||||||||||||||||||||||||||||||||||
MasterDuke | ah ha, forgot about that! | ||||||||||||||||||||||||||||||||||||||
benchable6: compare HEAD sub foo($a,$b,$c,$d){my $e=$a;my $f=$b;my $g=$c;my $h=$d;$e++;$f++;$g++;$h++;$e+$f+$g+$h};my $s1=0; for ^500_000 -> $a,$b,$c,$d {$s1=foo($a,$b,$c,$d)}; say $s1; ||| sub bar($a is copy,$b is copy,$c is copy,$d is copy) {$a++;$b++;$c++;$d++;$a+$b+$c+$d};my $s2=0; for ^500_000 -> $a,$b,$c,$d {$s2=bar($a,$b,$c,$d)};say $s2; | |||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, starting to benchmark the 1 given commit | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I'm not sure if that thing works, actually | ||||||||||||||||||||||||||||||||||||||
but let's see | |||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, gist.github.com/0e4acc92e80490b6ee...27093f08b4 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | wow it does work xD | 16:26 | |||||||||||||||||||||||||||||||||||||
16:26
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | occasionally i write some code that works some of the time | 16:26 | |||||||||||||||||||||||||||||||||||||
timotimo | so "is copy" is a lot faster? | ||||||||||||||||||||||||||||||||||||||
MasterDuke | other way around | ||||||||||||||||||||||||||||||||||||||
timotimo | oh? | 16:27 | |||||||||||||||||||||||||||||||||||||
damn. | |||||||||||||||||||||||||||||||||||||||
16:27
lizmat joined,
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: yeah, I've seen that somewhere in real code | 16:28 | |||||||||||||||||||||||||||||||||||||
MasterDuke | benchable6: timeout=120 | ||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, timeout is now set to ā120ā (default value is ā10ā) | ||||||||||||||||||||||||||||||||||||||
MasterDuke | benchable6: compare HEAD sub foo($a,$b,$c,$d){my $e=$a;my $f=$b;my $g=$c;my $h=$d;$e++;$f++;$g++;$h++;$e+$f+$g+$h};my $s1=0; for ^1_000_000 -> $a,$b,$c,$d {$s1=foo($a,$b,$c,$d)}; say $s1; ||| sub bar($a is copy,$b is copy,$c is copy,$d is copy) {$a++;$b++;$c++;$d++;$a+$b+$c+$d};my $s2=0; for ^1_000_000 -> $a,$b,$c,$d {$s2=bar($a,$b,$c,$d)};say $s2; | ||||||||||||||||||||||||||||||||||||||
benchable6 | MasterDuke, starting to benchmark the 1 given commit | ||||||||||||||||||||||||||||||||||||||
MasterDuke, gist.github.com/85051c7cf2fe0fab83...a26b5c94f6 | 16:29 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | hm, i didn't see quite that big a difference locally | ||||||||||||||||||||||||||||||||||||||
16:32
Ven`` joined
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | jnthn: fyi, ^^^ | 16:32 | |||||||||||||||||||||||||||||||||||||
jnthn | MasterDuke: Is the `is copy` itself slower, or is it to do with an effect it has on how the ++ and + can be optimized? | 16:35 | |||||||||||||||||||||||||||||||||||||
MasterDuke | jnthn: dunno. that was just the first thing i thought of that would exercise the need for `is copy` (or the equivalent) | 16:36 | |||||||||||||||||||||||||||||||||||||
same different if i assign `rand` to the variables instead of increment them | 16:40 | ||||||||||||||||||||||||||||||||||||||
*difference in time taken | |||||||||||||||||||||||||||||||||||||||
16:45
Kaiepi left,
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | c | 16:49 | |||||||||||||||||||||||||||||||||||||
moritz | m: say $*PERL.version | 16:55 | |||||||||||||||||||||||||||||||||||||
camelia | v6.d | ||||||||||||||||||||||||||||||||||||||
moritz | m: say $*COMPILER.version | ||||||||||||||||||||||||||||||||||||||
camelia | Dynamic variable $*COMPILER not found in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
moritz | the version number at start looks stuck, yes. Will need to look at this in more detail | 16:57 | |||||||||||||||||||||||||||||||||||||
17:07
Ven`` left
17:09
Ven`` joined
17:13
Ven`` left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | m: say $*PERL.compiler.version | 17:14 | |||||||||||||||||||||||||||||||||||||
camelia | v2019.07.69.gecf.2.b.1.e.4.f | ||||||||||||||||||||||||||||||||||||||
17:17
lucasb left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: do you mind of introducing CORE::<lang-rev>:: pseudo-packages? | 17:34 | |||||||||||||||||||||||||||||||||||||
R#3112 | |||||||||||||||||||||||||||||||||||||||
synopsebot | R#3112 [open]: github.com/rakudo/rakudo/pull/3112 [6.e] Implement CORE::<lang-rev> pseudo-packages | ||||||||||||||||||||||||||||||||||||||
17:43
samcv left
17:48
samcv joined
18:00
reportable6 left
18:02
reportable6 joined,
ChanServ sets mode: +v reportable6
18:21
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/master: 8 commits pushed by (Vadim Belman)++
|
18:47 | |||||||||||||||||||||||||||||||||||||
synopsebot | RAKUDO#2178 [open]: github.com/rakudo/rakudo/issues/2178 .wrap of a method breaks callsame/nextsame/etc. | ||||||||||||||||||||||||||||||||||||||
roast/master: 5 commits pushed by (Vadim Belman)++
|
|||||||||||||||||||||||||||||||||||||||
19:10
grayrider joined
19:33
grayrider left
19:42
Ven`` joined
19:56
pamplemousse left
20:07
pamplemousse joined
20:26
pamplemousse left
20:32
pamplemousse joined
21:25
epony left
21:51
Ven`` left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: since you're available yet, I'm not really happy about `CORE::v6d` naming as it's rather long. Besides, it is not decided yet if we keep or drop 6. version prefix, even though I'd be strongly opposed to changing versioning model. | 22:20 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: it is not yet decided if we're going to drop it or not, yet you're dropping it :) | 22:25 | |||||||||||||||||||||||||||||||||||||
and what do you mean ālongā | 22:26 | ||||||||||||||||||||||||||||||||||||||
two characters? | |||||||||||||||||||||||||||||||||||||||
honestly, that doesn't sound very convincing to me :) | |||||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: No, I'm not. Terminlogy-wise we have version (6.e, v6.e) and we have revision (e). | ||||||||||||||||||||||||||||||||||||||
jnthn | I don't think it'll be used often enough to justify making it especially short | 22:27 | |||||||||||||||||||||||||||||||||||||
vrurg | I'm not dropping. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | if not dropping, then it should also work with 7.d even if we never bump the version to 7 | 22:28 | |||||||||||||||||||||||||||||||||||||
vrurg | Another point for just letter is readability. CORE::v6c::Class, CORE::v6d::Class vs CORE::c::Class, CORE::d::Class | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | v6d is more readable in this case to me | ||||||||||||||||||||||||||||||||||||||
stands out a bit more | |||||||||||||||||||||||||||||||||||||||
jnthn agrees with AlexDaniel | |||||||||||||||||||||||||||||||||||||||
Though I still wonder about the adverb approach (CORE:ver<6.d>) | 22:29 | ||||||||||||||||||||||||||||||||||||||
vrurg | My braing is still in all-uppercase variant of CORE::V6D which looked really ugly. | ||||||||||||||||||||||||||||||||||||||
jnthn: CORE:ver<6.d>::PseudoStash ā pretty much line noise looking. | 22:30 | ||||||||||||||||||||||||||||||||||||||
jnthn | I parse "line noise" as "I don't need to consider this argument" :P | ||||||||||||||||||||||||||||||||||||||
vrurg is just trying to formulate it properly. | 22:31 | ||||||||||||||||||||||||||||||||||||||
jnthn | But seriously, if adverbs - with feature all over Perl 6 - are line noise, well... :) | ||||||||||||||||||||||||||||||||||||||
*which | |||||||||||||||||||||||||||||||||||||||
The argument for it is regularity, I guess. | |||||||||||||||||||||||||||||||||||||||
vrurg | I like PseudoStash:ver<6.d> for direct reference. But for introspection CORE::v6d:: is better. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: actually, I kinda agree that it is a bit too symbol-y | ||||||||||||||||||||||||||||||||||||||
jnthn | use Foo:ver<1.2> | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but I wouldn't say it's too badā¦ | 22:32 | |||||||||||||||||||||||||||||||||||||
jnthn | m: use v6.d | ||||||||||||||||||||||||||||||||||||||
vrurg | TIMTOWTDI | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
jnthn | m: use v6d | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
jnthn | Huh, I'd forgotten you can write the second :) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | O_o | ||||||||||||||||||||||||||||||||||||||
vrurg | We can have both and use depending on personal taste and task. | 22:33 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | youā¦ canā¦? | ||||||||||||||||||||||||||||||||||||||
jnthn | Maybe I hadn't forgot :P | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say v6d | ||||||||||||||||||||||||||||||||||||||
camelia | v6.d | ||||||||||||||||||||||||||||||||||||||
vrurg | m: say Version.new('v6d') | ||||||||||||||||||||||||||||||||||||||
camelia | vv.6.d | ||||||||||||||||||||||||||||||||||||||
jnthn | Anyway, there goes my argument that it's different from what you write in the `use` statement :P | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | ok then I don't see anything wrong with ::v6d:: | ||||||||||||||||||||||||||||||||||||||
vrurg | besides that it does it this way. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I thought it wasn't really a valid version, but turns out it is | ||||||||||||||||||||||||||||||||||||||
vrurg | Ok, I rename it. The only thing made me using ::D is to follow all-uppercase standard. | 22:34 | |||||||||||||||||||||||||||||||||||||
But since it's second level, it can be treated differently. | 22:35 | ||||||||||||||||||||||||||||||||||||||
Thanks! I get it fixed and merge. This will unblock R#3103 | 22:36 | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#3103 [open]: github.com/rakudo/rakudo/pull/3103 [6.e][tests needed] Return Failure from failed P6-level .parse on 6.e | ||||||||||||||||||||||||||||||||||||||
jnthn | I'm still just a tiny bit...discontented, I guess...that we're introducing a discontinuity where CORE::foo means a lookup in CORE, except when it's followed by a specific pattern. | ||||||||||||||||||||||||||||||||||||||
I agree that we're not going to have a symbol v6d or so on | |||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: consider it a lookup too. It's like symbols containting the specific cores. Why not? | ||||||||||||||||||||||||||||||||||||||
jnthn | vrurg: Well, how is it actually implemented? :) | 22:37 | |||||||||||||||||||||||||||||||||||||
If it's by each CORE.setting saying `my constant v6c := UNIT` or something I guess I can buy it...kind of :) | |||||||||||||||||||||||||||||||||||||||
timotimo | CORE::v6d::v6c::v6e::... :) | 22:38 | |||||||||||||||||||||||||||||||||||||
jnthn | :P | ||||||||||||||||||||||||||||||||||||||
Anyway, I can go with CORE::v6d, I think | 22:39 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | but, eventually, how will distinguish between CORE::v60 and CORE::v6d in casual conversation!?!?! | ||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: Because it has to work compile time, it's supported by World::find_symbol_in_setting | ||||||||||||||||||||||||||||||||||||||
And run-time is provided by PseudoStash. | |||||||||||||||||||||||||||||||||||||||
jnthn | Hm, OK | ||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: v6e will be a Failure | 22:40 | |||||||||||||||||||||||||||||||||||||
jnthn | Hm, compile time? | ||||||||||||||||||||||||||||||||||||||
What if I say CORE::v6d::.keys, for example? | |||||||||||||||||||||||||||||||||||||||
Or are you saying it resolves up to the v6d bit at compile time? | 22:41 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | btw, in case anybody wants something else to work on, `--profile-compile` of the rakudo build still dies | ||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: It will be handled by run-time. :) | ||||||||||||||||||||||||||||||||||||||
jnthn | OK | ||||||||||||||||||||||||||||||||||||||
22:47
MasterDuke left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | Now, I can't get rid of the idea of installing the actual symbols on COREs... | 22:49 | |||||||||||||||||||||||||||||||||||||
Ah, nevermind, it won't work... | 22:50 | ||||||||||||||||||||||||||||||||||||||
23:02
pamplemousse left
23:07
pamplemousse joined
23:11
pamplemousse left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | Dogbert4711 dogbert11 dogbert17 dogbert17_ dogbert2 dogbert21 dogbert2_ | 23:40 | |||||||||||||||||||||||||||||||||||||
:D |