Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-07-22

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 Zoffix And I measured with a small patch to Test.pm6 to write into testing-times file: https://gist.github.com/zoffixznet/22ff73bf9d0d0af267256e9be2b977d0
00:11 samcv yeah that may be possible
00:11 yoleaux 21 Jul 2017 23:57Z <Zoffix> samcv: is it easy to split up S15-normalization/nfc-* test further up; about in half each? The individual tests delay the entire stresstest runs because they run for ~80s each. At least with my 24-core box, the sweet spot would probably be around 30s per test file max. Here are the top 20 slowest test files: https://gist.github.com/zoffixznet/3e7c41a6a91806ecdb77f0692152cbd2
00:12 Zoffix That'd be sweet
00:12 samcv i'll look at it now
00:12 Zoffix I appreciate it.
00:13 b2gills joined #perl6-dev
00:23 samcv will split them in half
00:25 samcv then zoffix can be happy :)
00:25 samcv i'll put the concat tests in their own file. so should help out a lot
00:29 samcv Zoffix, does roast compile everything before it starts running or how does it work?
00:29 Zoffix \o/
00:29 samcv it starts x jobs and waits for them to compile then runs them right?
00:29 samcv so if it's just compiling it's waiting?
00:29 Zoffix samcv: no idea
00:30 Geth ¦ roast: 0976d07b90 | (Samantha McVey)++ | 21 files
00:30 Geth ¦ roast: Split S15-normalization/nfc tests into concat and non-concat tests
00:30 Geth ¦ roast:
00:30 Geth ¦ roast: This should reduce the time for the tests and help with parallel roast
00:30 Geth ¦ roast: test runs.
00:30 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0976d07b90
00:33 samcv Zoffix, it'd probably be much faster to compile if we included the unicode file in the tree and just read off of that
00:33 samcv but splitting them up should help for now
00:34 Zoffix cool. maybe I'll break the 60s stresstest barrier tonight :)
00:35 samcv hah
00:37 Geth ¦ rakudo/nom: ce0b7b310c | (Samantha McVey)++ | t/spectest.data
00:37 Geth ¦ rakudo/nom: Add nfc-concat-x.t tests to spectest.data
00:37 Geth ¦ rakudo/nom:
00:37 Geth ¦ rakudo/nom: The nfc tests were split up so each one did not take as long.
00:37 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ce0b7b310c
00:46 BenGoldberg joined #perl6-dev
00:54 Zoffix ZOFVM: Files=1276, Tests=161266, 132 wallclock secs (22.70 usr  3.44 sys + 2724.94 cusr 168.10 csys = 2919.18 CPU)
00:55 Zoffix alas
00:59 AlexDaniel ZofBot,hi
00:59 ZofBot AlexDaniel, ) There's one additional constructor: "now"
01:00 Zoffix Unless the boost patch I'm soon to commit magically shaves off those 32s :)
01:01 Zoffix Looks like some nfc concat tests still go to 74s https://gist.github.com/zoffixznet/6fd67b6c31fa7ddb4b4a5bc5a678dabc
01:01 Zoffix But much better than before :)
01:12 samcv Zoffix, well i can remove many of these tests ugh. i hate this thing. test-gen.p6
01:14 samcv Zoffix, what's a good way to generate reproducable pseudorandom numbers
01:14 Zoffix samcv: set srand?
01:14 Zoffix m: srand 42; say rand xx 10
01:14 camelia rakudo-moar ce0b7b: OUTPUT: «(0.274518332367711 0.566730513997923 0.959893313273106 0.153383078967721 0.583510247834594 0.217869139534002 0.639877365542633 0.804548145790971 0.260736759819595 0.00660734292484104)␤»
01:14 Zoffix m: srand 42; say rand xx 10
01:14 camelia rakudo-moar ce0b7b: OUTPUT: «(0.274518332367711 0.566730513997923 0.959893313273106 0.153383078967721 0.583510247834594 0.217869139534002 0.639877365542633 0.804548145790971 0.260736759819595 0.00660734292484104)␤»
01:15 samcv oh great
01:16 samcv i want to generate numbers betwen 0 and the arrays last element. and have it be the same on every run
01:16 samcv so that should prolly work
01:16 timotimo ought to work, yeah
01:16 samcv m: my @list = 1..99; srand 42; say @list.elems.rand xx 10
01:16 camelia rakudo-moar ce0b7b: OUTPUT: «(27.1773149044034 56.1063208857944 95.0294380140375 15.1849248178044 57.7675145356248 21.5690448138662 63.3478591887207 79.6502664333062 25.8129392221399 0.654126949559263)␤»
01:16 AlexDaniel m: srand 42; say ((^50).pick for ^10)
01:16 camelia rakudo-moar ce0b7b: OUTPUT: «(35 30 41 14 25 29 12 31 8 38)␤»
01:16 AlexDaniel m: srand 42; say ((^50).pick for ^10)
01:16 camelia rakudo-moar ce0b7b: OUTPUT: «(35 30 41 14 25 29 12 31 8 38)␤»
01:16 samcv m: my @list = 1..99; srand 42; say @list.elems.rand.Int xx 10
01:16 camelia rakudo-moar ce0b7b: OUTPUT: «(27 56 95 15 57 21 63 79 25 0)␤»
01:17 AlexDaniel pick seems to be sranded too
01:21 AlexDaniel samcv: do we have a list of unicode properties we don't support somewhere?
01:21 AlexDaniel like:
01:21 AlexDaniel m: ‘!’.uniprop(‘vo’).say
01:21 camelia rakudo-moar ce0b7b: OUTPUT: «0␤»
01:22 AlexDaniel m: ‘!’.uniprop(‘Vertical_Orientation’).say
01:22 camelia rakudo-moar ce0b7b: OUTPUT: «0␤»
01:26 samcv AlexDaniel, it's in a roast ticket
01:26 AlexDaniel oh
01:26 AlexDaniel https://github.com/perl6/roast/issues/195
01:26 AlexDaniel right
01:26 AlexDaniel thanks!
01:26 samcv np :)
01:27 AlexDaniel vo is not there though
01:27 travis-ci joined #perl6-dev
01:27 travis-ci Rakudo build passed. Samantha McVey 'Add nfc-concat-x.t tests to spectest.data
01:27 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256268708 https://github.com/rakudo/rakudo/compare/3028466c65d0...ce0b7b310c1e
01:27 travis-ci left #perl6-dev
01:38 samcv Zoffix, turns out most of those concat tests were crap anyway. so i'm going to make them actually noncrap
01:38 samcv it was testing concat of single codepoints. XD
01:38 samcv so turns out there are not enough tests that don't just have single codepoints in the unicode tests. so i'm going to create my own i think
01:40 samcv also. what's the best way to take two arrays and append one to another without getting arrays of arrays
01:40 samcv i tried append but it doesn't seem to be doing that. i get [["0x330A"], ["0x330B"]]
01:41 Zoffix m: my @a = <a b c>; my @b = <d e f>; @a.append: |@b; say @a
01:41 camelia rakudo-moar ce0b7b: OUTPUT: «[a b c d e f]␤»
01:41 samcv yay
01:44 samcv nope not working here
01:47 samcv m: my $list = my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; say |$list
01:47 camelia rakudo-moar ce0b7b: OUTPUT: «Potential difficulties:␤    Redeclaration of symbol '$list'␤    at <tmp>:1␤    ------> 3my $list = my $list7⏏5 = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]␤[0xAC4F][0xAC50][0xAC51]␤»
01:47 samcv m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; say |$list
01:47 camelia rakudo-moar ce0b7b: OUTPUT: «[0xAC4F][0xAC50][0xAC51]␤»
01:47 samcv m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; my @things; @things.append: |$list; say @things.perl
01:47 camelia rakudo-moar ce0b7b: OUTPUT: «[["0xAC4F"], ["0xAC50"], ["0xAC51"]]␤»
01:47 Zoffix m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; my @things; @things.append: |$list».List; say @things.perl
01:47 camelia rakudo-moar ce0b7b: OUTPUT: «[("0xAC4F",), ("0xAC50",), ("0xAC51",)]␤»
01:47 Zoffix m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; my @things; @things.append: $list».List.flat; say @things.perl
01:47 camelia rakudo-moar ce0b7b: OUTPUT: «["0xAC4F", "0xAC50", "0xAC51"]␤»
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
01:53 samcv bisectable6, my @list; my @result; @list = 0x2F94C, 0x2F94D, 0x2F94E, 0x2F94F; @result = 0x4096, 0x2541D, 0x784E, 0x2F94F; use Test; ok all(((Uni.new(@list[0..($_ - 1)]) ~ Uni.new(@list[$_..*])).NFC.list ~~ @result for 1..(@list-1)))
01:53 bisectable6 samcv, Bisecting by exit signal (old=2015.12 new=ce0b7b3). Old exit signal: 11 (SIGSEGV)
01:54 samcv hah
01:54 bisectable6 samcv, bisect log: https://gist.github.com/977aeb442b4d1b13438d16dd8d7aa92f
01:54 bisectable6 samcv, (2016-03-09) https://github.com/rakudo/rakudo/commit/e1071b055203613b95220ed9d2fae88dbc8531e9
01:54 samcv n-not what i wanted
01:54 samcv bisectable6: 2016.04..nom my @list; my @result; @list = 0x2F94C, 0x2F94D, 0x2F94E, 0x2F94F; @result = 0x4096, 0x2541D, 0x784E, 0x2F94F; use Test; ok all(((Uni.new(@list[0..($_ - 1)]) ~ Uni.new(@list[$_..*])).NFC.list ~~ @result for 1..(@list-1)))
01:54 bisectable6 samcv, On both starting points (old=2015.12 new=ce0b7b3) the exit code is 1 and the output is identical as well
01:54 bisectable6 samcv, Output on both points: «===SORRY!=== Error while compiling /tmp/2Jciq3nMxE␤Undeclared routine:␤    nom used at line 1. Did you mean 'not', 'nok'?␤»
01:55 samcv bisectable6: 2016.04 my @list; my @result; @list = 0x2F94C, 0x2F94D, 0x2F94E, 0x2F94F; @result = 0x4096, 0x2541D, 0x784E, 0x2F94F; use Test; ok all(((Uni.new(@list[0..($_ - 1)]) ~ Uni.new(@list[$_..*])).NFC.list ~~ @result for 1..(@list-1)))
01:55 bisectable6 samcv, On both starting points (old=2015.12 new=ce0b7b3) the exit code is 1 and the output is identical as well
01:55 bisectable6 samcv, https://gist.github.com/70e7c0a1d43f0db1812b85f90af69e20
01:55 MasterDuke samcv: old=foo new=bar
01:55 samcv bisectable6: old=2016.04 new=nom my @list; my @result; @list = 0x2F94C, 0x2F94D, 0x2F94E, 0x2F94F; @result = 0x4096, 0x2541D, 0x784E, 0x2F94F; use Test; ok all(((Uni.new(@list[0..($_ - 1)]) ~ Uni.new(@list[$_..*])).NFC.list ~~ @result for 1..(@list-1)))
01:55 MasterDuke or one or the other
01:55 bisectable6 samcv, On both starting points (old=2016.04 new=nom) the exit code is 1 and the output is identical as well
01:55 bisectable6 samcv, Output on both points: «not ok 1 - ␤␤# Failed test at /tmp/3DIIczt9V9 line 1»
01:56 MasterDuke bisectable6: old=2016.04 my @list; my @result; @list = 0x2F94C, 0x2F94D, 0x2F94E, 0x2F94F; @result = 0x4096, 0x2541D, 0x784E, 0x2F94F; use Test; ok all(((Uni.new(@list[0..($_ - 1)]) ~ Uni.new(@list[$_..*])).NFC.list ~~ @result for 1..(@list-1)))
01:56 bisectable6 MasterDuke, On both starting points (old=2016.04 new=ce0b7b3) the exit code is 1 and the output is identical as well
01:56 bisectable6 MasterDuke, Output on both points: «not ok 1 - ␤␤# Failed test at /tmp/3DJNPp1M6N line 1»
01:57 samcv cool. it should fail everywhere i hope
01:58 MasterDuke committable6: all my @list; my @result; @list = 0x2F94C, 0x2F94D, 0x2F94E, 0x2F94F; @result = 0x4096, 0x2541D, 0x784E, 0x2F94F; use Test; ok all(((Uni.new(@list[0..($_ - 1)]) ~ Uni.new(@list[$_..*])).NFC.list ~~ @result for 1..(@list-1)))
01:59 committable6 MasterDuke, https://gist.github.com/d271d91822dd30bcfaec40c74b3be28e
02:03 samcv hmm. This type cannot unbox to a native integer: P6opaque, Failure
02:06 Zoffix m: my int $ = +"foos"
02:06 camelia rakudo-moar ce0b7b: OUTPUT: «This type cannot unbox to a native integer: P6opaque, Failure␤  in block <unit> at <tmp> line 1␤␤»
02:07 Zoffix man, tests flop like crazy
02:13 Zoffix Oh wait, my goal is sub 100s stresstests, not sub 60s :)
02:13 Zoffix At least for now
02:16 Zoffix ZOFVM: Files=1276, Tests=161277, 130 wallclock secs (21.55 usr  3.50 sys + 2666.69 cusr 161.43 csys = 2853.17 CPU)
02:16 Zoffix can't really see my cool improvements to Test.pm6 :(
02:16 * Zoffix tries regular spectest
02:18 Zoffix m: say 161277-143197
02:18 camelia rakudo-moar ce0b7b: OUTPUT: «18080␤»
02:18 Zoffix I guess some of the new slowness is due to there being 18,080 more tests now
02:30 Zoffix :(
02:32 Geth ¦ rakudo/nom: d46f837100 | (Zoffix Znet)++ | lib/Test.pm6
02:32 Geth ¦ rakudo/nom: Make Test::proclaim 6.5x faster
02:32 Geth ¦ rakudo/nom:
02:32 Geth ¦ rakudo/nom: That seems to look good on paper, but doesn't seem to decrease
02:32 Geth ¦ rakudo/nom: stresstest/spectest runtime at all. Is that just some long-running
02:32 Geth ¦ rakudo/nom: tests masking the improvements or should this commit be reverted
02:32 Geth ¦ rakudo/nom: as the decreased readability just ain't worth it.
02:32 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d46f837100
02:33 Zoffix .ask lizmat should I revert this commit? It made the sub used by all tests 6.5x faster, but I'm hardpressed to find any practical benefits from that. Is that new nqp code a nightmare? Should we revert this commit for sake of better readability? https://github.com/rakudo/rakudo/commit/d46f837100
02:33 yoleaux Zoffix: I'll pass your message to lizmat.
02:34 * Zoffix calls it a day
02:41 Zoffix yeah, don't get it. My subtest TODO fix appeared to have slowed down the stresstest run by like 10s and profile does show proclaim like 30% of that piece. Would've thought I'd see at least something from making proclaim faster, but I guess the slowage wasn't actually from subtest todo fix. ¯\_(ツ)_/¯
02:47 Zoffix .tell lizmat like I see this code got 4.3x faster, but spectest time doesn't look to be affected, so.. is it worth it ¯\_(ツ)_/¯ time ./perl6 -Ilib -MTest -e '$*OUT = "/dev/null/".IO.open: :w; $*ERR = "/dev/null".IO.open: :w; for ^1000_0 { ok 1; ok 0 }'
02:47 yoleaux Zoffix: I'll pass your message to lizmat.
03:13 samcv Zoffix, ready for me to remove 8 nfc-concat tests :P
03:13 samcv seems to take me 27 seconds to run this test
03:18 MasterDuke Zoffix: fwiw, i get 35% spent in src/core/CallFrame.pm:55, with proclaim, ok, _diag the next three
03:19 Geth ¦ roast: 64e385faf9 | (Samantha McVey)++ | 11 files
03:19 Geth ¦ roast: Only test NFC concat if there's more than one codepoint
03:19 Geth ¦ roast:
03:19 Geth ¦ roast: Previously it was uselessly testing concat with single codepoints,
03:19 Geth ¦ roast: which is very useless. Filter it out and only test the ones with multiple
03:19 Geth ¦ roast: codepoints under concatation.
03:19 Geth ¦ roast: review: https://github.com/perl6/roast/commit/64e385faf9
03:19 samcv Zoffix, now you should be even happier :)
03:20 samcv now you have 1 instead of 9 concat tests :p
03:21 japhb Zoffix: Is the compilation of the .t files being counted in those measurements?  I wonder if, for (runtime) fast test files, if process startup and .t file compilation dominate wall clock time.
03:21 Geth ¦ roast: 9f304b0702 | (Samantha McVey)++ | S15-normalization/test-gen.p6
03:21 Geth ¦ roast: Commit the changes to the normalization test-gen.p6
03:21 Geth ¦ roast: review: https://github.com/perl6/roast/commit/9f304b0702
03:23 Geth ¦ rakudo/nom: d151d8adfb | (Samantha McVey)++ | t/spectest.data
03:23 Geth ¦ rakudo/nom: Remove nfc-concat-x.t and add nfc-concat.t
03:23 Geth ¦ rakudo/nom:
03:23 Geth ¦ rakudo/nom: Now there is only one nfc-concat test. Change it from spectest since
03:23 Geth ¦ rakudo/nom: the sanity of these operations is pretty important.
03:23 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d151d8adfb
03:29 Zoffix japhb: no, it used now - INIT now
03:30 Zoffix Gonna try samcv++'s modifications some other time; already turned off my VM
03:30 japhb Zoffix: So if the code is fast to run, then (now - INIT now) may not really be representative of wall and/or processor time used
03:31 Zoffix japhb: right
04:03 ugexe next toaster run is going to have some new explosions
04:03 Zoffix Why?
04:04 ugexe https://irclog.perlgeek.de/perl6-toolchain/2017-07-22#i_14906429
04:05 ugexe in short :ver() was doing The Wrong Thing, and not in a way that its useful just in a way that coincidently worked
04:06 Zoffix ah
04:20 ugexe sent PRs for JSON::Class and JSON::Marshall, the two we already found
05:55 Geth ¦ rakudo: ugexe++ created pull request #1120: Centralize CURI search logic
05:55 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1120
07:44 nine I'm not sure I really like commit 247fc6499d. I do see the issue it tries to resolve, yet it changes semantics in an arguably surprising way.
07:44 yoleaux 21 Jul 2017 21:36Z <Zoffix> nine: would you take a last look at https://github.com/rakudo/rakudo/pull/1107/files and merge the PR if it's OK  I see a change in one of CompUnit stugf and no idea if it's good or not
07:48 samcv ugexe, there's an issue where i have a system perl 6 which has modules installed in ~/.perl6 and i have by perl 6 i use mots of the time in ~/perl6 and zef detects both of them. and it thinks that i have them all installed even though the running perl 6 can only access its own modules
07:48 samcv which causes tons of dependency issues
07:49 nine samcv: all your perl6 should be able to use modules installed into ~/.perl6
07:52 samcv yeah but
07:53 samcv let me see something
07:54 Geth ¦ rakudo/nom: 9 commits pushed by gerd++, (Gerd Pokorra)++, niner++
07:54 Geth ¦ rakudo/nom: 0d7ea0a0aa | add the option --libdir to rakudo Configuration
07:54 Geth ¦ rakudo/nom: 8cc6469676 | Update Configure.pl
07:54 Geth ¦ rakudo/nom: 6723006f69 | Update Configure.pl
07:54 Geth ¦ rakudo/nom: 4c8b152346 | Update Configure.pl
07:54 Geth ¦ rakudo/nom: 37b14836c0 | Update Configure.pl
07:54 Geth ¦ rakudo/nom: d56573a762 | Update Configure.pl
07:54 Geth ¦ rakudo/nom: de02bc3d8f | Update Configure.pl
07:54 Geth ¦ rakudo/nom: 278e2918dd | Update Makefile-Moar.in
07:54 Geth ¦ rakudo/nom: e4d65ac90b | Merge pull request #1107 from gerd/nom
07:54 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/compare/d151d8adfb...e4d65ac90b
07:54 nine Darn....those commits should have been sqashed first :/
07:55 nine Well anyway, thanks Zoffix++ for reminding me about that PR
08:06 nine I need to be off now as I'm at my parents and supposed to help my dad sealing the cistern :) Feel free to .tell or /msg me any issues with sharing modules between perl6 installations.
08:06 nine samcv: ^^^
08:07 samcv ok thanks :)
08:47 travis-ci joined #perl6-dev
08:47 travis-ci Rakudo build failed. niner 'Merge pull request #1107 from gerd/nom
08:47 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256314328 https://github.com/rakudo/rakudo/compare/d151d8adfb03...e4d65ac90b36
08:47 travis-ci left #perl6-dev
08:47 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
09:09 TimToady joined #perl6-dev
09:27 AlexDaniel joined #perl6-dev
10:03 dct joined #perl6-dev
10:03 lizmat Files=1216, Tests=65578, 224 wallclock secs (13.43 usr  5.09 sys + 1338.17 cusr 141.36 csys = 1498.05 CPU)
10:03 yoleaux 02:33Z <Zoffix> lizmat: should I revert this commit? It made the sub used by all tests 6.5x faster, but I'm hardpressed to find any practical benefits from that. Is that new nqp code a nightmare? Should we revert this commit for sake of better readability? https://github.com/rakudo/rakudo/commit/d46f837100
10:03 yoleaux 02:47Z <Zoffix> lizmat: like I see this code got 4.3x faster, but spectest time doesn't look to be affected, so.. is it worth it ¯\_(ツ)_/¯ time ./perl6 -Ilib -MTest -e '$*OUT = "/dev/null/".IO.open: :w; $*ERR = "/dev/null".IO.open: :w; for ^1000_0 { ok 1; ok 0 }'
10:05 lizmat .tell Zoffix I'm the wrong person to ask whether nqp code is a nightmare  :-)
10:05 yoleaux lizmat: I'll pass your message to Zoffix.
10:07 lizmat .tell FWIW, I see Test.pm mostly as user land code, so readability is slightly more important to me there
10:07 yoleaux lizmat: What kind of a name is "FWIW,"?!
10:07 lizmat .tell Zoffix FWIW, I see Test.pm mostly as user land code, so readability is slightly more important to me there
10:07 yoleaux lizmat: I'll pass your message to Zoffix.
10:11 Geth ¦ rakudo/nom: 875b08439e | (Elizabeth Mattijsen)++ | lib/Test.pm6
10:11 Geth ¦ rakudo/nom: Revert "Make Test::proclaim 6.5x faster"
10:11 Geth ¦ rakudo/nom:
10:11 Geth ¦ rakudo/nom: This reverts commit d46f8371006ae9d79e05d58e5dd07d97be55be9b.
10:11 Geth ¦ rakudo/nom:
10:11 Geth ¦ rakudo/nom: The overhead of things being tested, dwarves any gain in proclaim
10:11 Geth ¦ rakudo/nom: performance itself.  So let's go for readability in this case.
10:11 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/875b08439e
10:17 hankache joined #perl6-dev
10:18 gfldex joined #perl6-dev
10:18 gfldex left #perl6-dev
10:51 hankache_ joined #perl6-dev
11:03 travis-ci joined #perl6-dev
11:03 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Revert "Make Test::proclaim 6.5x faster"
11:03 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256335388 https://github.com/rakudo/rakudo/compare/e4d65ac90b36...875b08439e05
11:04 travis-ci left #perl6-dev
11:04 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
11:38 lizmat joined #perl6-dev
11:45 Geth ¦ rakudo/nom: 752a32656b | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
11:45 Geth ¦ rakudo/nom: Make Baggy.roll(N) about 1.5x faster
11:45 Geth ¦ rakudo/nom:
11:45 Geth ¦ rakudo/nom: - based on a ^100 elem Bag with N=100
11:45 Geth ¦ rakudo/nom: - also applies to .roll(*) and .roll(Inf)
11:45 Geth ¦ rakudo/nom: - much more memory friendly
11:45 Geth ¦ rakudo/nom: - also has optimized skip-one, count-only and bool-only
11:45 Geth ¦ rakudo/nom: - no need for !ROLLPICKGRABN anymore
11:45 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/752a32656b
12:20 timotimo moritz: i wonder if you should point out in the "perl6 fundamentals ready for purchase" post that knowledge of perl 5 is also not required?
12:31 lizmat_ joined #perl6-dev
12:44 travis-ci joined #perl6-dev
12:44 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make Baggy.roll(N) about 1.5x faster
12:44 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256350705 https://github.com/rakudo/rakudo/compare/875b08439e05...752a32656b68
12:44 travis-ci left #perl6-dev
12:55 moritz timotimo: yes, thanks for pointing that out
12:58 moritz updated the blog post.
13:42 Geth ¦ roast: dogbert17++ created pull request #287: Add test for RT #131018
13:42 Geth ¦ roast: review: https://github.com/perl6/roast/pull/287
13:42 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131018
13:53 lizmat joined #perl6-dev
13:53 Zoffix .
13:53 yoleaux 10:05Z <lizmat> Zoffix: I'm the wrong person to ask whether nqp code is a nightmare  :-)
13:53 yoleaux 10:07Z <lizmat> Zoffix: FWIW, I see Test.pm mostly as user land code, so readability is slightly more important to me there
13:54 Zoffix lizmat++ cool. Thanks for revert.
13:59 lizmat Zoffix: you don't want to know how much nqp-ified code I've thrown away  :-)
13:59 Geth ¦ roast: 1923cace86 | (Jan-Olof Hendig)++ | S32-list/rotor.t
13:59 Geth ¦ roast: Add test for RT #131018
13:59 Geth ¦ roast: review: https://github.com/perl6/roast/commit/1923cace86
13:59 Geth ¦ roast: 2d34d3283e | (Zoffix Znet)++ (committed using GitHub Web editor) | S32-list/rotor.t
13:59 Geth ¦ roast: Merge pull request #287 from dogbert17/test-rt-131018
13:59 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131018
13:59 Geth ¦ roast:
13:59 Geth ¦ roast: Add test for RT #131018
13:59 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131018
13:59 Geth ¦ roast: review: https://github.com/perl6/roast/commit/2d34d3283e
14:02 Zoffix :)
14:09 lizmat joined #perl6-dev
14:25 Geth ¦ rakudo/nom: fb7ecb60f0 | (Elizabeth Mattijsen)++ | 6 files
14:25 Geth ¦ rakudo/nom: Baggy no longer uses HLL hash internally
14:25 Geth ¦ rakudo/nom:
14:25 Geth ¦ rakudo/nom: Until now, Baggies contained a HLL Hash, which in turn contained a
14:25 Geth ¦ rakudo/nom: low-level IterationSet.  Now, Baggies directly have the IterationSet
14:25 Geth ¦ rakudo/nom: without the intervening HLL Hash.  This means one less object to
14:25 Geth ¦ rakudo/nom: create an allocate for each Baggy created.  This also reduces the
14:25 Geth ¦ rakudo/nom: number of calls to Baggy.RAW-HASH, as we can now directly refer to
14:25 Geth ¦ rakudo/nom: the underlying IterationSet.
14:25 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fb7ecb60f0
14:26 dogbert17 commit: gcc1ba30 multi f(UInt:D $) { "ok" }
14:26 committable6 dogbert17, ¦gcc1ba30: «Cannot find this revision (did you mean “cc1ba30”?)»
14:27 dogbert17 commit: cc1ba30 multi f(UInt:D $) { "ok" }
14:27 committable6 dogbert17, ¦cc1ba30: «»
14:27 dogbert17 commit: cc1ba30 multi f(UInt:D $) { "ok" }; f(1)
14:27 committable6 dogbert17, ¦cc1ba30: «===SORRY!===␤Invocant requires an instance of type Int, but a type object was passed.  Did you forget a .new? «exit code = 1»»
14:31 Geth ¦ roast: dogbert17++ created pull request #288: Add test for RT #126642
14:31 Geth ¦ roast: review: https://github.com/perl6/roast/pull/288
14:31 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126642
14:37 Geth ¦ roast: 84e5309567 | (Jan-Olof Hendig)++ | S12-subset/subtypes.t
14:37 Geth ¦ roast: Add test for RT #126642
14:37 Geth ¦ roast: review: https://github.com/perl6/roast/commit/84e5309567
14:37 Geth ¦ roast: dec07641f6 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | S12-subset/subtypes.t
14:37 Geth ¦ roast: Merge pull request #288 from dogbert17/test-rt-126642
14:37 Geth ¦ roast:
14:37 Geth ¦ roast: Add test for RT #126642
14:37 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126642
14:37 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126642
14:37 Geth ¦ roast: review: https://github.com/perl6/roast/commit/dec07641f6
14:43 ugexe nine: I think the current behavior is surprising, and the behavior in that commit is what I think most people would expect
14:49 ugexe combined with #1118 it works even better
15:18 BenGoldberg joined #perl6-dev
15:22 travis-ci joined #perl6-dev
15:22 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Baggy no longer uses HLL hash internally
15:22 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256377981 https://github.com/rakudo/rakudo/compare/752a32656b68...fb7ecb60f006
15:22 travis-ci left #perl6-dev
15:22 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
16:12 lizmat joined #perl6-dev
16:53 Ven joined #perl6-dev
16:53 lizmat joined #perl6-dev
17:41 Geth ¦ rakudo/nom: b147217ed8 | (Elizabeth Mattijsen)++ | 2 files
17:41 Geth ¦ rakudo/nom: Make List.roll(*) about 1.5x faster
17:41 Geth ¦ rakudo/nom:
17:41 Geth ¦ rakudo/nom: - also eliminate R:I.Roller: there are  no clients for that anymore
17:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b147217ed8
17:48 lizmat m: use nqp; class A { has $.foo is default(42) }; my $a := nqp::create(A); use nqp; dd nqp::getattr($a,A,q/$!foo/).VAR.default; dd nqp::getattr($a,A,q/$!foo/)
17:48 camelia rakudo-moar fb7ecb: OUTPUT: «42␤Any $!foo = Any␤»
17:49 lizmat does anybody have anyi idea where the Any is actually put in the attribute ?
17:49 lizmat note, this is using nqp to create the object, so it's not Mu.BUILDALL
17:50 lizmat m: use nqp; class A { has $!foo is default(42) }; my $a := nqp::create(A); use nqp; dd nqp::getattr($a,A,q/$!foo/).VAR.default; dd nqp::getattr($a,A,q/$!foo/)
17:50 camelia rakudo-moar fb7ecb: OUTPUT: «42␤Any $!foo = Any␤»
17:50 lizmat ^^ same for private attribute
17:59 MasterDuke coverable6: HEAD use nqp; class A { has $.foo is default(42) }; my $a := nqp::create(A);
18:00 coverable6 MasterDuke, https://gist.github.com/9d7de0f51b59f0ebc8ad1a68e376d346
18:01 lizmat MasterDuke: ;e
18:02 lizmat MasterDuke: pretty sure that's basically most of standard startup you see there
18:17 MasterDuke lizmat: i've thought about an option to exclude the lines seen from `perl6 -e ''`, but if those lines also get run from your code then they'll get dropped
18:18 lizmat MasterDuke: do you have an order in which the lines are executed ?
18:18 MasterDuke and there's a default filter of 'SETTING' applied, which you can change with a `grep=<foo>` option
18:18 lizmat then I would exclude anything until the first INIT block is executed
18:18 MasterDuke no, i believe it's lost when they're consolidated to ranges
18:19 timotimo the coverage code tries its best to not output the same line hit twice
18:19 timotimo because every little report costs a bit of time and disk space
18:19 timotimo and we run through a whole lot of lines
18:19 MasterDuke timotimo: is lizmat's suggestion possible?
18:19 timotimo i haven't actually measured. you could just comment out a single line from moarvm and see what difference it makes, though
18:20 timotimo it would be possible to build an op that gives a "start measuring now" point, though
18:20 MasterDuke oh, interesting!
18:24 timotimo should be easy to find by grepping for HIT
18:24 timotimo bbl
18:24 MasterDuke timotimo: allowing multiple counts might be interesting. would make it possible to subtract `perl6 -e ''`. run it, store its results (in a Bag?) and then just subtract that from the given code's results
18:42 travis-ci joined #perl6-dev
18:42 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make List.roll(*) about 1.5x faster
18:42 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256415582 https://github.com/rakudo/rakudo/compare/fb7ecb60f006...b147217ed80c
18:42 travis-ci left #perl6-dev
18:50 ilbot3 joined #perl6-dev
18:50 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
18:56 Ven joined #perl6-dev
19:03 dogbert17 m: say (4,5,6).tail(-9999999999999999999)
19:03 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in block <unit> at <tmp> line 1??»
19:03 dogbert17 hmm
19:05 AlexDaniel m?
19:06 dogbert17 RT #130285
19:06 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130285
19:09 AlexDaniel dogbert17: I count that as fixed
19:09 AlexDaniel m: say (4,5,6).head(-9999999999999999999)
19:09 camelia rakudo-moar b14721: OUTPUT: «()?»
19:10 AlexDaniel ah wait, was it changed recently?
19:10 AlexDaniel m: say (4,5,6).head(-9999999999999999999999999999999999999999999999999999999999999999999999999999999)
19:10 camelia rakudo-moar b14721: OUTPUT: «()?»
19:10 AlexDaniel m: say (4,5,6).tail(-9999999999999999999)
19:10 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in block <unit> at <tmp> line 1??»
19:10 AlexDaniel o_o
19:11 ugexe https://github.com/rakudo/rakudo/blob/85743228e0b27e86a8fd8aad85a21c32f3764044/src/core/Iterator.pm#L78
19:11 ugexe only has `int` candidate
19:12 ugexe m: sub skip-at-least(int $toskip) { }; skip-at-least(-9999999999999999999)
19:12 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in sub skip-at-least at <tmp> line 1?  in block <unit> at <tmp> line 1??»
19:17 ugexe m: say "xxx".match(/./, :th(9999999999999999999)); # another spot it shows up
19:17 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in block <unit> at <tmp> line 1??»
19:19 dogbert17 bisect: NEW=HEAD OLD=93b0ffae5292791bf14b0d say (4,5,6).tail(-9999999999999999999)
19:19 bisectable6 dogbert17, Bisecting by exit code (old=93b0ffa new=b147217). Old exit code: 0
19:19 bisectable6 dogbert17, bisect log: https://gist.github.com/dc0e91dfb019e48c83d84ba57218c0cd
19:19 bisectable6 dogbert17, (2017-03-27) https://github.com/rakudo/rakudo/commit/666ce35dd7d416842c98014e5de097ac225ab260
19:29 lizmat joined #perl6-dev
19:38 Geth ¦ rakudo: ugexe++ created pull request #1121: Cache compunits by id instead of spec str
19:38 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1121
19:42 AlexDaniel ugexe: so is it broken or not?
19:43 BenGoldberg m: multi small(int) { True }; multi small(Int) { False }; say small 99999;
19:43 camelia rakudo-moar b14721: OUTPUT: «True?»
19:43 BenGoldberg m: multi small(int) { True }; multi small(Int) { False }; say small 9999999999999999999999999;
19:43 camelia rakudo-moar b14721: OUTPUT: «False?»
19:44 AlexDaniel m: say (4,5,6).tail(2**63)
19:44 camelia rakudo-moar b14721: OUTPUT: «(4 5 6)?»
19:44 AlexDaniel dogbert17: sorry, it is still broken
19:45 AlexDaniel ah wait
19:45 * AlexDaniel is blind
19:45 BenGoldberg Personally, I think that "Cannot unbox 64 bit wide bigint ..." is a LTA error message.
19:47 ugexe the error is from a low level iterator method, so i'd imagine there are performance reasons its not just a multi
19:53 AlexDaniel BenGoldberg: well, this error message is a huge improvement of what we had previously
19:54 AlexDaniel from* rather
19:55 lizmat m: $ 6 'use nqp; my $l := nqp::list; dd nqp::atpos($l,9999999999999999999)   # the underlying issue
19:55 camelia rakudo-moar b14721: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Two terms in a row?at <tmp>:1?------> 3$7?5 6 'use nqp; my $l := nqp::list; dd nqp:?    expecting any of:?        infix?        infix stopper?        statement end?        statement mod…»
19:55 lizmat m: use nqp; my $l := nqp::list; dd nqp::atpos($l,9999999999999999999)   # the underlying issue
19:55 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in block <unit> at <tmp> line 1??»
19:56 lizmat aka, nqp itself doesn't know how to handle bigints in native lists
20:00 timotimo MasterDuke: have you tried letting it count every line multiple times?
20:02 MasterDuke timotimo: yeah. before: `perl6 -e ''` resulted in a 5347 line file (3950 unique), after it resulted in a 142637 line file (4254 unique)
20:03 MasterDuke haven't yet played with coverable to see what its output would be
20:05 jnthn I think we're a way off having enough memory that you need a bigint to index your array... :)
20:06 MasterDuke timotimo: but would nqp::(start|stop)coverage be a better idea?
20:19 timotimo i'd prefer a single op, like nqp::coveragecontrol
20:19 timotimo with a 1 or 0
20:26 MasterDuke sure
20:32 MasterDuke would there be a new MVM_* env variable? MVM_COVERAGE_CONTROLLED=1 means only actually write to MVM_COVERAGE_LOG's value once a nqp::coveragecontrol(1) has happened?
20:41 timotimo oh
20:41 timotimo i didn't think of that
20:46 MasterDuke i.e., MVM_COVERAGE_LOG=cover.log means write everything (and nqp::coveragecontrol is a noop), adding MVM_COVERAGE_CONTROLLED=1 means nqp::coveragecontrol does something
20:46 timotimo yeah
20:46 timotimo it'd have to be like that
20:56 BenGoldberg joined #perl6-dev
21:02 BenGoldberg I think it would make more sense if the error message was "Cannot unbox bigint into 64 bit native integer" ... or even leave out the '64 bit' entirely.
21:12 AlexDaniel m: say (4,5,6).tail(-2**63+4)
21:12 camelia rakudo-moar b14721: OUTPUT: «()?»
21:12 AlexDaniel m: say (4,5,6).tail(-2**63+3)
21:12 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in block <unit> at <tmp> line 1??»
21:12 AlexDaniel why is it like this?
21:12 AlexDaniel m: say (4,5,6,7).tail(-2**63+3)
21:12 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in block <unit> at <tmp> line 1??»
21:12 AlexDaniel m: say (4,5,6,7).tail(-2**63+4)
21:12 camelia rakudo-moar b14721: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer?  in block <unit> at <tmp> line 1??»
21:12 AlexDaniel ah… ok, so there's our length
21:13 AlexDaniel I can't get any “useful” overflow out of this, any ideas?
21:36 samcv good *
21:42 dugword joined #perl6-dev
22:30 lizmat joined #perl6-dev
22:44 MasterDuke s: Array, Slip
22:45 SourceBaby MasterDuke, Something's wrong: ?ERR: Cannot resolve caller sourcery(Array, Slip); none of these signatures match:?    ($thing, Str:D $method, Capture $c)?    ($thing, Str:D $method)?    (&code)?    (&code, Capture $c)?  in block <unit> at -e line 6??
22:45 MasterDuke s: Array, Slip, \()
22:45 SourceBaby MasterDuke, Something's wrong: ?ERR: Cannot resolve caller sourcery(Array, Slip, Capture); none of these signatures match:?    ($thing, Str:D $method, Capture $c)?    ($thing, Str:D $method)?    (&code)?    (&code, Capture $c)?  in block <unit> at -e line 6??
22:45 MasterDuke s: Array, 'Slip'
22:45 SourceBaby MasterDuke, Something's wrong: ?ERR: Type check failed in binding to parameter '&code'; expected Callable but got Method+{<anon|73243776>} (Method+{<anon|7324377...)?  in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42?  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33?  in blo
22:45 MasterDuke s: Array, 'Slip', \()
22:45 SourceBaby MasterDuke, Sauce is at https://github.com/rakudo/rakudo/blob/b147217/src/core/Any.pm#L65
22:47 MasterDuke s: Array, 'list', \()
22:47 SourceBaby MasterDuke, Sauce is at https://github.com/rakudo/rakudo/blob/b147217/src/core/Any.pm#L52
22:48 MasterDuke s: Array, 'infix:<,>', \()
22:48 SourceBaby MasterDuke, Something's wrong: ?ERR: Could not find candidate that can do \()?  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29?  in block <unit> at -e line 6??
22:48 MasterDuke s: Array, '&infix:<,>', \()
22:48 SourceBaby MasterDuke, Something's wrong: ?ERR: Could not find candidate that can do \()?  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29?  in block <unit> at -e line 6??
23:00 lizmat joined #perl6-dev
23:14 deep-book-gk_ joined #perl6-dev
23:15 deep-book-gk_ left #perl6-dev
23:45 MasterDuke s: Slip,'from-iterator'
23:45 SourceBaby MasterDuke, Sauce is at https://github.com/rakudo/rakudo/blob/b147217/src/core/List.pm#L182

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary