Zoffix looks over pics of flooding all over the neighbouring towns :o | 01:48 | ||
Makes me glad I live on the 8th floor.... | |||
BenGoldberg | I live in a house which is almost on top of a hill... no flooding for me. | 02:19 | |
MasterDuke_ | is anyone else seeing test 41 fail in t/spec/S10-packages/precompilation.t? | 03:06 | |
Zoffix | Haven't run any stresstests today, but I've seen that file flop in the past | 03:08 | |
MasterDuke_ | i'm currently on a branch where i've made some changes. i don't think they should effect that file, but... | 03:09 | |
there was that recent commit about $*ERR and precomp... | 03:11 | ||
yup. if i build rakudo at the commit before github.com/rakudo/rakudo/commit/182b17061c, but with my changes, it passes that file just fine | 03:16 | ||
Geth | rakudo: MasterDuke17++ created pull request #1078: Convert substr+eq to eqat |
03:20 | |
MasterDuke_ | m: use nqp; loop (my int $i = 0; $i < 10_000_000; $i = $i + 1) { if nqp::substr("abcdef", 0, 1) eq "a" { } }; say now - INIT now | 03:22 | |
camelia | 1.7525664 | ||
MasterDuke_ | m: use nqp; loop (my int $i = 0; $i < 10_000_000; $i = $i + 1) { if nqp::eqat("abcdef", "a", 0) { } }; say now - INIT now | ||
camelia | 0.2979978 | ||
Geth | rakudo/nom: f4017c32a2 | MasterDuke17++ | 3 files Convert substr+eq to eqat nqp::eqat is much faster than doing a substr+eq. |
03:24 | |
rakudo/nom: 695ebcbc33 | (Zoffix Znet)++ (committed using GitHub Web editor) | 3 files Merge pull request #1078 from MasterDuke17/convert_substr_plus_eq_to_eqat Convert substr+eq to eqat |
|||
MasterDuke_ | that was quick, thanks | 03:25 | |
[Tux] | This is Rakudo version 2017.04.3-178-g695ebcbc3 built on MoarVM version 2017.04-57-g8d8a09b9 | 07:13 | |
csv-ip5xs 3.214 | |||
test 13.011 | |||
test-t 4.317 - 4.340 | |||
csv-parser 13.447 | |||
lizmat wonders how hard it would be to also provide a positional interface to nqp::hashes | 11:50 | ||
it would make things like Map.roll so much easier | |||
timotimo | not very easy | 11:53 | |
you can iterate all values of a hash "easily", but accessing the nth value will always go through the hash from start to n | |||
hmm. | 11:54 | ||
i suppose since that'd be implemented in C, it'd not be terribly slow | |||
lizmat | well, yes that would be my point | 12:03 | |
timotimo | i won't be available for most of the day, but if you want to fiddle around a bit inside moarvm, you'd have to change the struct near the end of VMHash.c inside the reprs folder | ||
lizmat | now doing it in nqp *and* building an array at the time | 12:04 | |
a loop at nqp level still much slower | |||
timotimo | there's an entry in there for positional functions that'll currently have the default implementation of "throw an error" | ||
lizmat | of course, adding it would also mean telling spesh and JIT about it | 12:05 | |
timotimo | github.com/MoarVM/MoarVM/blob/mast...ash.c#L231 the DEFAULT_POS_FUNCS would be replaced | ||
lizmat | perhaps we should shelf it until we can easily update them | ||
timotimo | i think spesh and jit will immediately understand it | ||
lizmat | because they're just positional functions ? | 12:06 | |
timotimo | spesh doesn't do anything with these reprops, i think, and the jit will access this struct i just linked to and just make a direct call to the function in question | ||
lizmat | ok, then I would like to declare this LHF for MasterDuke_ and/or dogbert11 if jnthn is ok with that | ||
timotimo | github.com/MoarVM/MoarVM/blob/mast...prs.h#L127 - this is the meaning of the fields you can put in the struct that goes where DEFAULT_POS_FUNCS currently lives | 12:07 | |
you'd keep pretty much all of the DEFAULT_ ones except for AT_POS | |||
github.com/MoarVM/MoarVM/blob/mast...ray.c#L127 - steal the function signature from here, but MVMHash doesn't have any REPRData, so that line can be tossed | 12:12 | ||
github.com/MoarVM/MoarVM/blob/mast...Hash.c#L61 - steal this iteration function and just abort&return when i++ == target_number | 12:13 | ||
BBL | |||
Geth | rakudo/nom: c74d37ba04 | (Elizabeth Mattijsen)++ | src/core/Map.pm Make Map.roll(N) upto 3x faster - based on N=2 on a 26 element hash - gain caused by building the list of Pairs on the fly - higher values of N compared to size of hash lose this advantage - shouldn't ever be slower than the old approach |
12:18 | |
rakudo/nom: 1e58925c09 | (Elizabeth Mattijsen)++ | src/core/Map.pm Allow for Map.roll(*-5) For API consistency's sake, cause I don't really see a use case just yet. |
12:47 | ||
lizmat | afk again& | ||
Zoffix | huggable: popular | 13:03 | |
huggable | Zoffix, nothing found | ||
Zoffix | huggable: popular modules | 13:04 | |
huggable | Zoffix, nothing found | ||
Zoffix | Anyone remember where the list of most-used modules is at? I need top N modules to test release with... | ||
Geth | rakudo/nom: 8884093e75 | (Elizabeth Mattijsen)++ | src/core/Map.pm Remove unnecessary nqp::stmts, b2gills++ |
14:10 | |
lizmat | www.dynatrace.com/blog/inside-the-...rt-4-perl/ # too bad it's not about Perl 6 :-( | 14:40 | |
m: use nqp; my $a := 42; my $now = now; for ^100000 { nqp::fromnum_I(nqp::rand_n(nqp::tonum_I($a)),Int) }; say now - $now # quite fast | 15:23 | ||
camelia | 0.0965704 | ||
lizmat | m: use nqp; my $a := 42; my $now = now; for ^100000 { nqp::rand_I($a,Int) }; say now - $now # much slower, why ??? | 15:24 | |
camelia | 0.2412751 | ||
lizmat | one would sorta expect rand_I to be faster than taking the whole .Num.rand.Int route | ||
Geth | rakudo/nom: e2c3499b6c | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm Add R:Q.ROLL: randomly selecting in a IterationSet |
15:36 | |
rakudo/nom: 911b43de68 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Make (Bag|Mix)Hash.grabpairs about 4x faster - based on a 26-element BagHash |
|||
jnthn | lizmat: github.com/MoarVM/MoarVM/blob/56cd...ops.c#L919 is the implementation of rand_I fwiw | 15:37 | |
lizmat | hmmm it seems the underlying issue is fixed: github.com/libtom/libtommath/pull/56 ? | 15:50 | |
wonder whether reverting 0c973ea6 would be enough ? | 15:54 | ||
Geth | rakudo/nom: 2bda2703da | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Allow for (Bag|Mix)Hash.grabpairs(*-5) Because we have somehow forgotten that one. |
16:20 | |
ugexe | looks like my precomp commit brought back the doubling of precomp errors to stdout/err | 16:21 | |
I'm not seeing how though | |||
removing this (github.com/rakudo/rakudo/blob/nom/...y.pm#L279) works around that, but then you woudn't get precomp errors as warnings (I think?) | 16:24 | ||
either way - something in that section of code does not handle stdout/stderr properly (nor did it before my commit, which could lock up on OSX due to a open3 deadlock) | 16:25 | ||
geekosaur wonders how hard it would be to get run to support using the same pipe for stdout + stderr? | 16:27 | ||
ugexe | geekosaur: its NYI as :merge | 16:28 | |
or maybe it is and it just doesn't work on every os or something. | |||
geekosaur | although that's still only half the problem, you also have to arrange somehow for the thing run to not buffer its output (or line buffer it) instead of block buffer | ||
which has to be done in that program, you can't portably do it from run | 16:29 | ||
Geth | rakudo/nom: 83e82c6d55 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm Remove copy-pastoed comment |
16:36 | |
Zoffix reads blogs.perl.org/users/toby_inkster/2...-soon.html and chuckles at cludgy syntax for what in Perl 6 is so much nicer... | 18:15 | ||
Zoffix tries out Type::Tiny and gets very jelauous of much better error reporting | |||
"'"Number" is defined as: sub { no feature \':all\'; use feature \':5.16\'; $_ % 2; }'" | 18:16 | ||
Wonder if it's possible to cook up a module that would make subsets be equally helpful but actually showing the code for `where` constraints | 18:17 | ||
s/but/by/; | |||
A module that adds something like `sub foo will keep-source {ā¦}` `(* %% 2) will keep-source` or something or other. Some trait or even special syntax to stick on a sub to make it save its source code to be able to provide it via a method later | 18:45 | ||
Geth | rakudo/nom: 75ecaf530f | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm Add R:Q.PICK-N, return random picked keys Workhorse for Baggy.pickpairs, (Bag|Mix)Hash.grabpairs. |
18:55 | |
rakudo/nom: 3670720a4b | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Make (Bag|Mix)Hash.grabpairs about 4x as fast - on a 26 element BagHash with either 5 or 26 pairs - now also lazy, so only pairs actually consumed will be removed |
|||
lizmat | Zoffix: perhaps the "use trace" machinery could be used for that | 18:56 | |
Zoffix | Maybe | 18:57 | |
BenGoldberg | s: SetHash, 'push', () | 19:59 | |
SourceBaby, source | |||
SourceBaby | BenGoldberg, See: github.com/zoffixznet/perl6-sourceable | ||
bengoldberg | s: SetHash, 'push', () | 20:03 | |
Geth | rakudo/nom: c0270c6695 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Make Baggy.pickpairs about 5x faster - based on a 26 element Bag - using the new R:Q.ROLL infrastructure |
20:29 | |
Zoffix | BenGoldberg: you're still banned from the bot | 20:53 | |
buggable: eco Sourcery | |||
buggable | Zoffix, CoreHackers::Sourcery 'Helper for showing actual source code locations of core subs and methods': github.com/zoffixznet/perl6-CoreHa...s-Sourcery | ||
Zoffix | ^ use that module instead | ||
BenGoldberg | Zoffix, I've got a problem... | 21:17 | |
I have the following in my .bash_aliases: | |||
alias sourcery-web="perl6 -MCoreHackers::Sourcery -MMONKEY-SEE-NO-EVAL \ | |||
-e 'run q!$CHROME!, EVAL qq!sourcery(@*ARGS[0])[1]! '" | |||
When I run sourcery-web '&say' it opens up chrome to github.com/rakudo/rakudo/blob/2017...ors.pm#L20 | 21:18 | ||
Which is a 404 not found. | |||
Geth | rakudo/nom: 037070d8b5 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm Add R:Q:Pairs role For Baggy.pickpairs and Baggy.grabpairs functionality |
21:21 | |
rakudo/nom: 0f21f511c5 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Make Baggy.pickpairs(N) about 2x as fast - based on a 26 element Bag - using new R:Q:Pairs role |
|||
Zoffix | yeah | 21:22 | |
hmm | |||
m: say $*PERL.compiler.version.Str | |||
camelia | 2017.04.3.188.gc.0270.c.669 | ||
Zoffix | 1 sec | ||
BenGoldberg: pushed a fix that should fix the issue. zef --force install github.com/zoffixznet/perl6-CoreHa...master.zip | 21:26 | ||
BenGoldberg | Magic! Zoffix++ | 21:28 | |
Geth | rakudo/nom: 29036362fc | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Make (Bag|Mix)Hash.grabpairs(N) use the R:Q:Pairs role - for easier maintenance |
21:39 | |
lizmat | good night, #perl6-dev! | 21:55 | |
Zoffix | night | 21:56 |