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:20 Kaypie left, Kaypie joined, p6bannerbot sets mode: +v Kaypie 01:07 j3nnn1 left 01:33 ZzZombo left 01:53 benjikun left
lizmat .tell jnthn R#2484 02:06
yoleaux lizmat: I'll pass your message to jnthn.
synopsebot_ R#2484 [open]: github.com/rakudo/rakudo/issues/2484 Pair interference in dispatch between Associative / Iterable
02:40 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 03:14 ufobat_ joined 03:15 p6bannerbot sets mode: +v ufobat_ 03:18 ufobat___ left 03:19 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 03:20 ZzZombo left, ZzZombo_ is now known as ZzZombo 04:23 ZzZombo left 05:20 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 05:40 Kaypie left 05:41 Kaypie joined, p6bannerbot sets mode: +v Kaypie 05:50 delon joined, p6bannerbot sets mode: +v delon 07:48 robertle joined, p6bannerbot sets mode: +v robertle 09:37 [Tux] left 09:50 [Tux] joined 09:51 p6bannerbot sets mode: +v [Tux]
releasable6 Next release in ≈3 days and ≈7 hours. 3 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 11:00
lizmat timotimo moritz masak jnthn R#2484 is blocking me atm, could you give me an idea on where to look in the code for answers? 11:54
synopsebot_ R#2484 [open]: github.com/rakudo/rakudo/issues/2484 Pair interference in dispatch between Associative / Iterable
masak lizmat: that's odd. 12:10
lizmat: looks like a bug in dispatch to me.
lizmat yeah, duh :-)
masak lizmat: I basically agree with your two last paragraphs.
dunno offhand where to look in the source, sorry
lizmat :-( 12:11
well, working around it for now
jnthn lizmat: BOOTSTRAP.nqp is where the multi-dispatch impl lives 12:15
yoleaux 02:06Z <lizmat> jnthn: R#2484
synopsebot_ R#2484 [open]: github.com/rakudo/rakudo/issues/2484 Pair interference in dispatch between Associative / Iterable
jnthn lizmat: In and out of meetings and stuff all day, so won't be able to look at it especially soon 12:16
lizmat jnthn: ok.. will try to find it 12:17
timotimo lizmat: it should be possible to step through that with the moar-remote debugger! 12:20
i don't have a good idea how you could fix this 12:24
Geth_ rakudo: 674a083705 | (Elizabeth Mattijsen)++ | src/core/Hyper.pm6
Add support for Pair >>op<< Pair

Since Pairs are generally considered to be 1 element hashes, use the same logic. In the situation where if they would be hashes and no matching keys, an empty hash would be returned. Since there is no such thing as an empty Pair, Nil is returned, rather than Nil => Nil.
This commit breaks some spectests because of R#2484. The next commit works around that. Splitting into two separate commits so that the next commit can simply be reverted once R#2484 is fixed.
12:32
synopsebot_ R#2484 [open]: github.com/rakudo/rakudo/issues/2484 Pair interference in dispatch between Associative / Iterable
rakudo: 8fa7268113 | (Elizabeth Mattijsen)++ | src/core/Hyper.pm6
Workaround for R#2484

Please revert once R#2484 is fixed.
lizmat jnthn: is !sort_dispatchees_internal something I should look at ? 12:37
13:06 Kaypie left, Kaypie joined 13:07 p6bannerbot sets mode: +v Kaypie 13:36 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Workaround for R#2484 13:36
travis-ci.org/rakudo/rakudo/builds/454964369 github.com/rakudo/rakudo/compare/d...a726811325
13:36 travis-ci left
synopsebot_ R#2484 [open]: github.com/rakudo/rakudo/issues/2484 Pair interference in dispatch between Associative / Iterable 13:36
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 13:37
lizmat next one should be ok again 13:38
ah, no, this *is* the next one...
restarted the failed job 13:39
13:50 Kaypie left, Kaypie joined 13:51 p6bannerbot sets mode: +v Kaypie
lizmat failed job is now green, so it was a flapper 13:55
14:10 Kaypie left
[Tux] Rakudo version 2018.10-128-g8fa726811 - MoarVM version 2018.10-77-g6236eb5de
csv-ip5xs0.936 - 0.943
csv-ip5xs-207.179 - 7.225
csv-parser24.316 - 24.349
csv-test-xs-200.435 - 0.438
test7.592 - 7.991
test-t1.815 - 1.920
test-t --race0.884 - 0.894
test-t-2032.652 - 33.519
test-t-20 --race10.557 - 10.711
14:31
15:40 b2gills left 15:44 b2gills joined, p6bannerbot sets mode: +v b2gills
jnthn lizmat: Yes, that and, I think, find_best_dispatchee 15:59
16:11 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 16:15 robertle left 16:55 robertle joined, p6bannerbot sets mode: +v robertle 17:48 j3nnn1 joined, p6bannerbot sets mode: +v j3nnn1
AlexDaniel yay a little update on R#2451 17:59
synopsebot_ R#2451 [open]: github.com/rakudo/rakudo/issues/2451 [⚠ blocker ⚠] Pre-2018.11 toasting
AlexDaniel hm that took just 42 minutes 18:00
could've done that earlier :) 18:01
some help with remaining modules will be appreciated ♥ 18:04
19:02 dogbert11 left 19:17 pmurias joined, p6bannerbot sets mode: +v pmurias
Geth_ rakudo: 80edefcfb3 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6
Make Hash.STORE a multi

Part of a cunning plan to generally speed up metaops on Associatives and QuantHashes, but this requires the .STORE to be a multi. Changed in a separate commit for bisectability and performance checks.
19:19
19:22 ExtraCrispy left 19:35 pmurias left 19:36 pmurias joined, p6bannerbot sets mode: +v pmurias 19:58 dogbert17 joined 19:59 p6bannerbot sets mode: +v dogbert17 21:17 Kaiepi left, Kaiepi joined 21:18 p6bannerbot sets mode: +v Kaiepi
Geth_ rakudo: faa19ab924 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6
Add Hash.STORE(\keys,\values)

Another way of creating a Hash internally, taking 2 iterables: one with keys and one with values, that are supposed to generate an equal number of values. To be used in hyper operations.
21:34
rakudo: cf5c8a099e | (Elizabeth Mattijsen)++ | src/core/Map.pm6
Add Map.STORE(\keys,\values)

Another way of creating a Map internally, taking 2 iterables: one with keys and one with values, that are supposed to generate an equal number of values. To be used in hyper operations.
rakudo: 534d8f6576 | (Elizabeth Mattijsen)++ | 7 files
Add QuantHash.STORE(\keys,\values)

Another way of creating a QuantHashes internally, taking 2 iterables: one with keys and one with values, that are supposed to generate an equal number of values. To be used in hyper operations.
lizmat this makes my %h = "a".."z" Z=> 1..26 about 3x as fast written as my %h := Hash.CREATE.STORE("a".."z",1..26) 21:43
timotimo i like a 3x
how does it compare to using flat and Z,? 21:44
lizmat now checking how much this will improve something like %h >>+<< %h
timotimo wow Z=> is already more than 2x faster than flat + Z, 21:48
21:49 pmurias left
timotimo storing the result of that into "my %h", that is 21:54
lizmat looks like %h >>+<< %h is now 8x faster for a 26 elem hash 22:01
spectesting now to make sure I didn't break anything :-) 22:02
gfldex lizmat: spectest minus Perl5::Inline works fine on my end 22:09
Geth_ rakudo: 7fad12b0ee | (Elizabeth Mattijsen)++ | src/core/Hyper.pm6
Use the new STORE(\keys,\values) for metaops

This makes %h >>+<< %h about 8x as fast for a 26 key hash.
22:10
rakudo: 800d8fbbb2 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm6
Remove the now superfluous R:I.RoundrobinIterablesFlat

It's no longer needed now that we have the new .STORE(keys,values) functionality in metaops.
22:22
rakudo: c3f03e6776 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm6
Final fixes to make metaops work on QuantHashes
22:29
lizmat whee: metaops work on QuantHashes :-) 22:30
timotimo nice 22:34
lizmat yeah, the 8x improvement was more than I expected 22:35
I wonder if I can use the same logic on Z... 22:36
specifically Z=>
gfldex if you keep going with that speed there wont be anything left to do … in 10 years time! :-> 22:37
lizmat gfldex: by that time I would be 72... a good time to retire then :-)
hmmm... looks like I can only do that for my %h = ... Z=> ... 22:40
perhaps something for the static optimizer to rewrite to nqp::create(Hash).STORE(..., ...) 22:41
looks like that would make something like my %h = "a".."z" Z=> 1..26 about 4x as fast 22:46
gfldex timotimo would that make sense ? 22:48
enough hacking for today& 22:58
timotimo hm, with loads of safety checks of course :) 22:59
like, is "Hash" the same thing, is the hash parameterized, are Z and => the same thing, ...
23:01 dct joined, p6bannerbot sets mode: +v dct 23:02 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
Geth_ roast: ugexe++ created pull request #497:
Workaround windows test failures due to shell quoting issues
23:23
roast/master: 17 commits pushed by (Nick Logan)++
review: github.com/perl6/roast/compare/2fc...2a49240db8
23:42 dct left