Zoffix | And I measured with a small patch to Test.pm6 to write into testing-times file: gist.github.com/zoffixznet/22ff73b...9be2b977d0 | 00:00 | |
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: gist.github.com/zoffixznet/3e7c41a...692152cbd2 | ||
Zoffix | That'd be sweet | 00:12 | |
samcv | i'll look at it now | ||
Zoffix | I appreciate it. | ||
samcv | will split them in half | 00:23 | |
then zoffix can be happy :) | 00:25 | ||
i'll put the concat tests in their own file. so should help out a lot | |||
Zoffix, does roast compile everything before it starts running or how does it work? | 00:29 | ||
Zoffix | \o/ | ||
samcv | it starts x jobs and waits for them to compile then runs them right? | ||
so if it's just compiling it's waiting? | |||
Zoffix | samcv: no idea | ||
Geth | roast: 0976d07b90 | (Samantha McVey)++ | 21 files Split S15-normalization/nfc tests into concat and non-concat tests This should reduce the time for the tests and help with parallel roast test runs. |
00:30 | |
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 | |
but splitting them up should help for now | |||
Zoffix | cool. maybe I'll break the 60s stresstest barrier tonight :) | 00:34 | |
samcv | hah | 00:35 | |
Geth | rakudo/nom: ce0b7b310c | (Samantha McVey)++ | t/spectest.data Add nfc-concat-x.t tests to spectest.data The nfc tests were split up so each one did not take as long. |
00:37 | |
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:54 | |
alas | 00:55 | ||
AlexDaniel | ZofBot,hi | 00:59 | |
ZofBot | AlexDaniel, ) There's one additional constructor: "now" | ||
Zoffix | Unless the boost patch I'm soon to commit magically shaves off those 32s :) | 01:00 | |
Looks like some nfc concat tests still go to 74s gist.github.com/zoffixznet/6fd67b6...c5a678dabc | 01:01 | ||
But much better than before :) | |||
samcv | Zoffix, well i can remove many of these tests ugh. i hate this thing. test-gen.p6 | 01:12 | |
Zoffix, what's a good way to generate reproducable pseudorandom numbers | 01:14 | ||
Zoffix | samcv: set srand? | ||
m: srand 42; say rand xx 10 | |||
camelia | (0.274518332367711 0.566730513997923 0.959893313273106 0.153383078967721 0.583510247834594 0.217869139534002 0.639877365542633 0.804548145790971 0.260736759819595 0.00660734292484104) | ||
Zoffix | m: srand 42; say rand xx 10 | ||
camelia | (0.274518332367711 0.566730513997923 0.959893313273106 0.153383078967721 0.583510247834594 0.217869139534002 0.639877365542633 0.804548145790971 0.260736759819595 0.00660734292484104) | ||
samcv | oh great | 01:15 | |
i want to generate numbers betwen 0 and the arrays last element. and have it be the same on every run | 01:16 | ||
so that should prolly work | |||
timotimo | ought to work, yeah | ||
samcv | m: my @list = 1..99; srand 42; say @list.elems.rand xx 10 | ||
camelia | (27.1773149044034 56.1063208857944 95.0294380140375 15.1849248178044 57.7675145356248 21.5690448138662 63.3478591887207 79.6502664333062 25.8129392221399 0.654126949559263) | ||
AlexDaniel | m: srand 42; say ((^50).pick for ^10) | ||
camelia | (35 30 41 14 25 29 12 31 8 38) | ||
AlexDaniel | m: srand 42; say ((^50).pick for ^10) | ||
camelia | (35 30 41 14 25 29 12 31 8 38) | ||
samcv | m: my @list = 1..99; srand 42; say @list.elems.rand.Int xx 10 | ||
camelia | (27 56 95 15 57 21 63 79 25 0) | ||
AlexDaniel | pick seems to be sranded too | 01:17 | |
samcv: do we have a list of unicode properties we don't support somewhere? | 01:21 | ||
like: | |||
m: ‘!’.uniprop(‘vo’).say | |||
camelia | 0 | ||
AlexDaniel | m: ‘!’.uniprop(‘Vertical_Orientation’).say | 01:22 | |
camelia | 0 | ||
samcv | AlexDaniel, it's in a roast ticket | 01:26 | |
AlexDaniel | oh | ||
github.com/perl6/roast/issues/195 | |||
right | |||
thanks! | |||
samcv | np :) | ||
AlexDaniel | vo is not there though | 01:27 | |
travis-ci | Rakudo build passed. Samantha McVey 'Add nfc-concat-x.t tests to spectest.data | ||
travis-ci.org/rakudo/rakudo/builds/256268708 github.com/rakudo/rakudo/compare/3...0b7b310c1e | |||
samcv | Zoffix, turns out most of those concat tests were crap anyway. so i'm going to make them actually noncrap | 01:38 | |
it was testing concat of single codepoints. XD | |||
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 | |||
also. what's the best way to take two arrays and append one to another without getting arrays of arrays | 01:40 | ||
i tried append but it doesn't seem to be doing that. i get [["0x330A"], ["0x330B"]] | |||
Zoffix | m: my @a = <a b c>; my @b = <d e f>; @a.append: |@b; say @a | 01:41 | |
camelia | [a b c d e f] | ||
samcv | yay | ||
nope not working here | 01:44 | ||
m: my $list = my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; say |$list | 01:47 | ||
camelia | Potential difficulties: Redeclaration of symbol '$list' at <tmp>:1 ------> 3my $list = my $list7⏏5 = [["0xAC4F"], ["0xAC50"], ["0xAC51"],] [0xAC4F][0xAC50][0xAC51] |
||
samcv | m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; say |$list | ||
camelia | [0xAC4F][0xAC50][0xAC51] | ||
samcv | m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; my @things; @things.append: |$list; say @things.perl | ||
camelia | [["0xAC4F"], ["0xAC50"], ["0xAC51"]] | ||
Zoffix | m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; my @things; @things.append: |$list».List; say @things.perl | ||
camelia | [("0xAC4F",), ("0xAC50",), ("0xAC51",)] | ||
Zoffix | m: my $list = [["0xAC4F"], ["0xAC50"], ["0xAC51"],]; my @things; @things.append: $list».List.flat; say @things.perl | ||
camelia | ["0xAC4F", "0xAC50", "0xAC51"] | ||
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) | ||
samcv | hah | 01:54 | |
bisectable6 | samcv, bisect log: gist.github.com/977aeb442b4d1b1343...dd8d7aa92f | ||
samcv, (2016-03-09) github.com/rakudo/rakudo/commit/e1...8dbc8531e9 | |||
samcv | n-not what i wanted | ||
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))) | |||
bisectable6 | samcv, On both starting points (old=2015.12 new=ce0b7b3) the exit code is 1 and the output is identical as well | ||
samcv, Output on both points: «04===SORRY!04=== Error while compiling /tmp/2Jciq3nMxEUndeclared routine: nom used at line 1. Did you mean 'not', 'nok'?» | |||
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 | ||
samcv, gist.github.com/70e7c0a1d43f0db181...f90af69e20 | |||
MasterDuke | samcv: old=foo new=bar | ||
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))) | ||
MasterDuke | or one or the other | ||
bisectable6 | samcv, On both starting points (old=2016.04 new=nom) the exit code is 1 and the output is identical as well | ||
samcv, Output on both points: «not ok 1 - # Failed test at /tmp/3DIIczt9V9 line 1» | |||
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 | ||
MasterDuke, Output on both points: «not ok 1 - # Failed test at /tmp/3DJNPp1M6N line 1» | |||
samcv | cool. it should fail everywhere i hope | 01:57 | |
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:58 | |
committable6 | MasterDuke, gist.github.com/d271d91822dd30bcfa...c74b3be28e | 01:59 | |
samcv | hmm. This type cannot unbox to a native integer: P6opaque, Failure | 02:03 | |
Zoffix | m: my int $ = +"foos" | 02:06 | |
camelia | This type cannot unbox to a native integer: P6opaque, Failure in block <unit> at <tmp> line 1 |
||
Zoffix | man, tests flop like crazy | 02:07 | |
Oh wait, my goal is sub 100s stresstests, not sub 60s :) | 02:13 | ||
At least for now | |||
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 | ||
can't really see my cool improvements to Test.pm6 :( | |||
Zoffix tries regular spectest | |||
m: say 161277-143197 | 02:18 | ||
camelia | 18080 | ||
Zoffix | I guess some of the new slowness is due to there being 18,080 more tests now | ||
:( | 02:30 | ||
Geth | rakudo/nom: d46f837100 | (Zoffix Znet)++ | lib/Test.pm6 Make Test::proclaim 6.5x faster That seems to look good on paper, but doesn't seem to decrease stresstest/spectest runtime at all. Is that just some long-running tests masking the improvements or should this commit be reverted as the decreased readability just ain't worth it. |
02:32 | |
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? github.com/rakudo/rakudo/commit/d46f837100 | 02:33 | |
yoleaux | Zoffix: I'll pass your message to lizmat. | ||
Zoffix calls it a day | 02:34 | ||
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:41 | ||
.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. | ||
samcv | Zoffix, ready for me to remove 8 nfc-concat tests :P | 03:13 | |
seems to take me 27 seconds to run this test | |||
MasterDuke | Zoffix: fwiw, i get 35% spent in src/core/CallFrame.pm:55, with proclaim, ok, _diag the next three | 03:18 | |
Geth | roast: 64e385faf9 | (Samantha McVey)++ | 11 files Only test NFC concat if there's more than one codepoint Previously it was uselessly testing concat with single codepoints, which is very useless. Filter it out and only test the ones with multiple codepoints under concatation. |
03:19 | |
samcv | Zoffix, now you should be even happier :) | ||
now you have 1 instead of 9 concat tests :p | 03:20 | ||
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 Commit the changes to the normalization test-gen.p6 |
||
rakudo/nom: d151d8adfb | (Samantha McVey)++ | t/spectest.data Remove nfc-concat-x.t and add nfc-concat.t Now there is only one nfc-concat test. Change it from spectest since the sanity of these operations is pretty important. |
03:23 | ||
Zoffix | japhb: no, it used now - INIT now | 03:29 | |
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 | ||
Zoffix | japhb: right | 03:31 | |
ugexe | next toaster run is going to have some new explosions | 04:03 | |
Zoffix | Why? | ||
ugexe | irclog.perlgeek.de/perl6-toolchain...i_14906429 | 04:04 | |
in short :ver() was doing The Wrong Thing, and not in a way that its useful just in a way that coincidently worked | 04:05 | ||
Zoffix | ah | 04:06 | |
ugexe | sent PRs for JSON::Class and JSON::Marshall, the two we already found | 04:20 | |
Geth | rakudo: ugexe++ created pull request #1120: Centralize CURI search logic |
05:55 | |
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 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 | ||
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 | |
which causes tons of dependency issues | |||
nine | samcv: all your perl6 should be able to use modules installed into ~/.perl6 | 07:49 | |
samcv | yeah but | 07:52 | |
let me see something | 07:53 | ||
Geth | rakudo/nom: 9 commits pushed by gerd++, (Gerd Pokorra)++, niner++ | 07:54 | |
nine | Darn....those commits should have been sqashed first :/ | ||
Well anyway, thanks Zoffix++ for reminding me about that PR | 07:55 | ||
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 | ||
samcv: ^^^ | |||
samcv | ok thanks :) | 08:07 | |
travis-ci | Rakudo build failed. niner 'Merge pull request #1107 from gerd/nom | 08:47 | |
travis-ci.org/rakudo/rakudo/builds/256314328 github.com/rakudo/rakudo/compare/d...d65ac90b36 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
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? github.com/rakudo/rakudo/commit/d46f837100 | ||
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 }' | |||
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. | ||
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,"?! | ||
lizmat | .tell Zoffix FWIW, I see Test.pm mostly as user land code, so readability is slightly more important to me there | ||
yoleaux | lizmat: I'll pass your message to Zoffix. | ||
Geth | rakudo/nom: 875b08439e | (Elizabeth Mattijsen)++ | lib/Test.pm6 Revert "Make Test::proclaim 6.5x faster" This reverts commit d46f8371006ae9d79e05d58e5dd07d97be55be9b. The overhead of things being tested, dwarves any gain in proclaim performance itself. So let's go for readability in this case. |
10:11 | |
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Revert "Make Test::proclaim 6.5x faster" | 11:03 | |
travis-ci.org/rakudo/rakudo/builds/256335388 github.com/rakudo/rakudo/compare/e...5b08439e05 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | 11:04 | |
Geth | rakudo/nom: 752a32656b | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Make Baggy.roll(N) about 1.5x faster - based on a ^100 elem Bag with N=100 - also applies to .roll(*) and .roll(Inf) - much more memory friendly - also has optimized skip-one, count-only and bool-only - no need for !ROLLPICKGRABN anymore |
11:45 | |
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:20 | |
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Make Baggy.roll(N) about 1.5x faster | 12:44 | |
travis-ci.org/rakudo/rakudo/builds/256350705 github.com/rakudo/rakudo/compare/8...2a32656b68 | |||
moritz | timotimo: yes, thanks for pointing that out | 12:55 | |
updated the blog post. | 12:58 | ||
Geth | roast: dogbert17++ created pull request #287: Add test for RT #131018 |
13:42 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131018 | ||
Zoffix | . | 13:53 | |
yoleaux | 10:05Z <lizmat> Zoffix: I'm the wrong person to ask whether nqp code is a nightmare :-) | ||
10:07Z <lizmat> Zoffix: FWIW, I see Test.pm mostly as user land code, so readability is slightly more important to me there | |||
Zoffix | lizmat++ cool. Thanks for revert. | 13:54 | |
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 Add test for RT #131018 |
||
roast: 2d34d3283e | (Zoffix Znet)++ (committed using GitHub Web editor) | S32-list/rotor.t Merge pull request #287 from dogbert17/test-rt-131018 Add test for RT #131018 |
|||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131018 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131018 | ||
Zoffix | :) | 14:02 | |
Geth | rakudo/nom: fb7ecb60f0 | (Elizabeth Mattijsen)++ | 6 files Baggy no longer uses HLL hash internally Until now, Baggies contained a HLL Hash, which in turn contained a low-level IterationSet. Now, Baggies directly have the IterationSet without the intervening HLL Hash. This means one less object to create an allocate for each Baggy created. This also reduces the number of calls to Baggy.RAW-HASH, as we can now directly refer to the underlying IterationSet. |
14:25 | |
dogbert17 | commit: gcc1ba30 multi f(UInt:D $) { "ok" } | 14:26 | |
committable6 | dogbert17, ¦gcc1ba30: «Cannot find this revision (did you mean “cc1ba30”?)» | ||
dogbert17 | commit: cc1ba30 multi f(UInt:D $) { "ok" } | 14:27 | |
committable6 | dogbert17, ¦cc1ba30: «» | ||
dogbert17 | commit: cc1ba30 multi f(UInt:D $) { "ok" }; f(1) | ||
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»» | ||
Geth | roast: dogbert17++ created pull request #288: Add test for RT #126642 |
14:31 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126642 | ||
Geth | roast: 84e5309567 | (Jan-Olof Hendig)++ | S12-subset/subtypes.t Add test for RT #126642 |
14:37 | |
roast: dec07641f6 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | S12-subset/subtypes.t Merge pull request #288 from dogbert17/test-rt-126642 Add test for RT #126642 |
|||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126642 | ||
ugexe | nine: I think the current behavior is surprising, and the behavior in that commit is what I think most people would expect | 14:43 | |
combined with #1118 it works even better | 14:49 | ||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Baggy no longer uses HLL hash internally | 15:22 | |
travis-ci.org/rakudo/rakudo/builds/256377981 github.com/rakudo/rakudo/compare/7...7ecb60f006 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
Geth | rakudo/nom: b147217ed8 | (Elizabeth Mattijsen)++ | 2 files Make List.roll(*) about 1.5x faster - also eliminate R:I.Roller: there are no clients for that anymore |
17:41 | |
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 | 42 Any $!foo = Any |
||
lizmat | does anybody have anyi idea where the Any is actually put in the attribute ? | 17:49 | |
note, this is using nqp to create the object, so it's not Mu.BUILDALL | |||
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 | 42 Any $!foo = Any |
||
lizmat | ^^ same for private attribute | ||
MasterDuke | coverable6: HEAD use nqp; class A { has $.foo is default(42) }; my $a := nqp::create(A); | 17:59 | |
coverable6 | MasterDuke, gist.github.com/9d7de0f51b59f0ebc8...68e376d346 | 18:00 | |
lizmat | MasterDuke: ;e | 18:01 | |
MasterDuke: pretty sure that's basically most of standard startup you see there | 18:02 | ||
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:17 | |
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 | ||
lizmat | then I would exclude anything until the first INIT block is executed | ||
MasterDuke | no, i believe it's lost when they're consolidated to ranges | ||
timotimo | the coverage code tries its best to not output the same line hit twice | 18:19 | |
because every little report costs a bit of time and disk space | |||
and we run through a whole lot of lines | |||
MasterDuke | timotimo: is lizmat's suggestion possible? | ||
timotimo | i haven't actually measured. you could just comment out a single line from moarvm and see what difference it makes, though | ||
it would be possible to build an op that gives a "start measuring now" point, though | 18:20 | ||
MasterDuke | oh, interesting! | ||
timotimo | should be easy to find by grepping for HIT | 18:24 | |
bbl | |||
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 | ||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Make List.roll(*) about 1.5x faster | 18:42 | |
travis-ci.org/rakudo/rakudo/builds/256415582 github.com/rakudo/rakudo/compare/f...47217ed80c | |||
dogbert17 | m: say (4,5,6).tail(-9999999999999999999) | 19:03 | |
camelia | Cannot unbox 64 bit wide bigint into native integer? in block <unit> at <tmp> line 1?? | ||
dogbert17 | hmm | ||
AlexDaniel | m? | 19:05 | |
dogbert17 | RT #130285 | 19:06 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130285 | ||
AlexDaniel | dogbert17: I count that as fixed | 19:09 | |
m: say (4,5,6).head(-9999999999999999999) | |||
camelia | ()? | ||
AlexDaniel | ah wait, was it changed recently? | 19:10 | |
m: say (4,5,6).head(-9999999999999999999999999999999999999999999999999999999999999999999999999999999) | |||
camelia | ()? | ||
AlexDaniel | m: say (4,5,6).tail(-9999999999999999999) | ||
camelia | Cannot unbox 64 bit wide bigint into native integer? in block <unit> at <tmp> line 1?? | ||
AlexDaniel | o_o | ||
ugexe | github.com/rakudo/rakudo/blob/8574...tor.pm#L78 | 19:11 | |
only has `int` candidate | |||
m: sub skip-at-least(int $toskip) { }; skip-at-least(-9999999999999999999) | 19:12 | ||
camelia | 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?? | ||
ugexe | m: say "xxx".match(/./, :th(9999999999999999999)); # another spot it shows up | 19:17 | |
camelia | Cannot unbox 64 bit wide bigint into native integer? in block <unit> at <tmp> line 1?? | ||
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 | ||
dogbert17, bisect log: gist.github.com/dc0e91dfb019e48c83...a57218c0cd | |||
dogbert17, (2017-03-27) github.com/rakudo/rakudo/commit/66...ac225ab260 | |||
Geth | rakudo: ugexe++ created pull request #1121: Cache compunits by id instead of spec str |
19:38 | |
AlexDaniel | ugexe: so is it broken or not? | 19:42 | |
BenGoldberg | m: multi small(int) { True }; multi small(Int) { False }; say small 99999; | 19:43 | |
camelia | True? | ||
BenGoldberg | m: multi small(int) { True }; multi small(Int) { False }; say small 9999999999999999999999999; | ||
camelia | False? | ||
AlexDaniel | m: say (4,5,6).tail(2**63) | 19:44 | |
camelia | (4 5 6)? | ||
AlexDaniel | dogbert17: sorry, it is still broken | ||
ah wait | 19:45 | ||
AlexDaniel is blind | |||
BenGoldberg | Personally, I think that "Cannot unbox 64 bit wide bigint ..." is a LTA error message. | ||
ugexe | the error is from a low level iterator method, so i'd imagine there are performance reasons its not just a multi | 19:47 | |
AlexDaniel | BenGoldberg: well, this error message is a huge improvement of what we had previously | 19:53 | |
from* rather | 19:54 | ||
lizmat | m: $ 6 'use nqp; my $l := nqp::list; dd nqp::atpos($l,9999999999999999999) # the underlying issue | 19:55 | |
camelia | 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… | ||
lizmat | m: use nqp; my $l := nqp::list; dd nqp::atpos($l,9999999999999999999) # the underlying issue | ||
camelia | Cannot unbox 64 bit wide bigint into native integer? in block <unit> at <tmp> line 1?? | ||
lizmat | aka, nqp itself doesn't know how to handle bigints in native lists | 19:56 | |
timotimo | MasterDuke: have you tried letting it count every line multiple times? | 20:00 | |
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:02 | |
haven't yet played with coverable to see what its output would be | 20:03 | ||
jnthn | I think we're a way off having enough memory that you need a bigint to index your array... :) | 20:05 | |
MasterDuke | timotimo: but would nqp::(start|stop)coverage be a better idea? | 20:06 | |
timotimo | i'd prefer a single op, like nqp::coveragecontrol | 20:19 | |
with a 1 or 0 | |||
MasterDuke | sure | 20:26 | |
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:32 | ||
timotimo | oh | 20:41 | |
i didn't think of that | |||
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 | ||
it'd have to be like that | |||
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:02 | |
AlexDaniel | m: say (4,5,6).tail(-2**63+4) | 21:12 | |
camelia | ()? | ||
AlexDaniel | m: say (4,5,6).tail(-2**63+3) | ||
camelia | Cannot unbox 64 bit wide bigint into native integer? in block <unit> at <tmp> line 1?? | ||
AlexDaniel | why is it like this? | ||
m: say (4,5,6,7).tail(-2**63+3) | |||
camelia | Cannot unbox 64 bit wide bigint into native integer? in block <unit> at <tmp> line 1?? | ||
AlexDaniel | m: say (4,5,6,7).tail(-2**63+4) | ||
camelia | Cannot unbox 64 bit wide bigint into native integer? in block <unit> at <tmp> line 1?? | ||
AlexDaniel | ah… ok, so there's our length | ||
I can't get any “useful” overflow out of this, any ideas? | 21:13 | ||
samcv | good * | 21:36 | |
MasterDuke | s: Array, Slip | 22:44 | |
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, \() | ||
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?? | ||
MasterDuke | s: Array, 'Slip' | ||
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 | ||
MasterDuke | s: Array, 'Slip', \() | ||
SourceBaby | MasterDuke, Sauce is at github.com/rakudo/rakudo/blob/b147...Any.pm#L65 | ||
MasterDuke | s: Array, 'list', \() | 22:47 | |
SourceBaby | MasterDuke, Sauce is at github.com/rakudo/rakudo/blob/b147...Any.pm#L52 | ||
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?? | ||
MasterDuke | s: Array, '&infix:<,>', \() | ||
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?? | ||
MasterDuke | s: Slip,'from-iterator' | 23:45 | |
SourceBaby | MasterDuke, Sauce is at github.com/rakudo/rakudo/blob/b147...st.pm#L182 |