Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-04-30

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

All times shown according to UTC.

Time Nick Message
00:15 geekosaur joined #perl6-dev
01:19 ggoebel joined #perl6-dev
03:12 BenGoldberg joined #perl6-dev
03:27 samcv jnthn, you should find one of your modules and add a license to meta
03:28 samcv we're at exactly 50% things with/without licenses. you could win points if you get us over 50%
03:28 samcv or anybody here!
07:32 lizmat Files=1192, Tests=56873, 210 wallclock secs (12.46 usr  4.80 sys + 1233.36 cusr 123.08 csys = 1373.70 CPU)
08:21 AlexDani` joined #perl6-dev
08:34 * lizmat gave an answer to http://stackoverflow.com/questions/43701570/how-do-i-efficiently-generate-a-list-of-primes-in-perl-6/43704475#43704475
08:54 [Tux] This is Rakudo version 2017.04.3-112-g1ed76a903 built on MoarVM version 2017.04-44-gf0db8822
08:54 [Tux] csv-ip5xs        3.230
08:54 [Tux] test            13.036
08:54 [Tux] test-t           5.347 - 5.379
08:54 [Tux] csv-parser      13.109
08:54 [Tux] and my computer was not busy doing other stuff
09:08 lizmat [Tux] could it be that you have a large .precomp dir ?
09:09 nine lizmat: would that make any difference?
09:09 lizmat well, in most OS's dir searches are still lineair
09:10 lizmat I should say, filesystems
09:10 lizmat if you have 1000's of .precomp entries
09:10 lizmat that does make a difference
09:10 [Tux] 290M    .precomp/
09:11 [Tux] rm -rf .precomp/ .panda-work/
09:14 [Tux] This is Rakudo version 2017.04.3-112-g1ed76a903 built on MoarVM version 2017.04-44-gf0db8822
09:14 [Tux] csv-ip5xs        3.034
09:14 [Tux] test            13.046
09:14 [Tux] test-t           5.107
09:14 [Tux] csv-parser      14.313
09:15 lizmat so looks like it made a difference  :-)
09:27 [Tux] but still not way below 5.000 :/
09:39 lizmat [Tux]: true  :-(
09:46 Geth ¦ rakudo/nom: c41a200ade | (Elizabeth Mattijsen)++ | 3 files
09:46 Geth ¦ rakudo/nom: Make Set.SET-SELF return set() for empty Sets
09:46 Geth ¦ rakudo/nom:
09:46 Geth ¦ rakudo/nom: As Sets are immutable, there should only one empty set around.
09:46 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c41a200ade
09:46 Geth ¦ rakudo/nom: 3d99321f19 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
09:46 Geth ¦ rakudo/nom: All other types on (.) and (+) need Bag coercion
09:46 Geth ¦ rakudo/nom:
09:46 Geth ¦ rakudo/nom: This fixes an uncaught error on Iterable (+) Iterable if the Iterable
09:47 Geth ¦ rakudo/nom: contained Pairs.  And it improves the speed of Iterable (.) Iterable
09:47 Geth ¦ rakudo/nom: by a factor of 2.5.
09:47 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d99321f19
09:55 Geth ¦ rakudo/nom: 6d12cecc95 | (Elizabeth Mattijsen)++ | 9 files
09:55 Geth ¦ rakudo/nom: Remove trailing whitespace
09:55 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d12cecc95
10:04 Geth ¦ rakudo/nom: bdb5391b94 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
10:04 Geth ¦ rakudo/nom: Simplify Set creation in several set operators
10:04 Geth ¦ rakudo/nom:
10:04 Geth ¦ rakudo/nom: Now that Set.SET-SELF is smart enough to return set() for empty Sets
10:04 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bdb5391b94
10:08 pmurias joined #perl6-dev
10:08 pmurias Unhandled exception: Missing or wrong version of dependency '../MoarVM/install/bin/../share/nqp/lib/MAST/Nodes.nqp' (from 'src/Perl6/Pod.nqp')
10:08 pmurias what could be causing that while trying to make rakudo?
10:09 nine Have you tried make clean?
10:10 nine I usually need to do that after updating nqp
10:11 pmurias I hate Makefiles-- so much :(
10:14 timotimo cross-project makefiles, not much fun
10:59 jnthn samcv: Discovered https://github.com/jnthn/p6-app-moarvm-heapanalyzer was still without one, so there we go... :-)
11:21 samcv yay!
11:21 samcv you win!
11:21 samcv party time
11:21 jnthn :-)
11:21 samcv now we can say that *most* modules have license tags
11:23 timotimo cool
11:23 timotimo "your chance of a module having a license tag is better than 50/50!"
11:25 samcv that is unproven.
11:25 samcv though
11:25 samcv but if you randomly install all modules then yes
12:10 dogbert17 does anyone know if slangs have a large overhead?
12:11 timotimo i've never measured, but it shouldn't be terribly big
12:11 timotimo and it's only compile-time overhead of course
12:12 dogbert17 I was looking at [Tux] csv code again, i.e. https://github.com/Tux/CSV/blob/master/test-t.pl
12:12 dogbert17 if you put an 'exit 0' at line 8 and then time the script I get 1.3 seconds
12:13 timotimo and if you rewrite it to be untuxic?
12:13 dogbert17 I'd say one second faster
12:14 dogbert17 i.e. I removed the compilation errors I get when I remove the slang
12:14 timotimo interesting
12:15 timotimo wanna --profile-compile that?
12:15 dogbert17 is there a --profile-compile switch?
12:16 dogbert17 or do you mean perl6 -c --profile test-t ?
12:16 lizmat m: Bag.new.roll   # hmmmm
12:16 camelia rakudo-moar bdb539: OUTPUT: «Cannot iterate object with P6opaque representation (Scalar)␤  in block <unit> at <tmp> line 1␤␤»
12:16 Zoffix s: Bag.new, 'roll', \()
12:17 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/bdb5391/src/core/Baggy.pm#L498
12:17 timotimo there is a --profile-compile switch
12:17 dogbert17 cool, didn't know that
12:17 lizmat Zoffix: working on that
12:17 timotimo :)
12:18 dogbert17 hmm, wrote perl6 --profile-compile test-t.pl    and now it hangs, maybe it's slow
12:18 timotimo it's likely quite slow
12:19 dogbert17 I'll wait then :)
12:19 pmurias is a raw » allowed in the comments and literals in the MoarVM source
12:19 timotimo hopefully it won't blow up in memory usage and asplodes :)
12:19 timotimo pmurias: i know nothing about the other C compilers we target :)
12:19 timotimo but isn't » in latin1?
12:20 timotimo m: say "»".ord
12:20 camelia rakudo-moar bdb539: OUTPUT: «187␤»
12:20 timotimo that should totally be fine
12:21 pmurias timotimo: gcc handles that fine, I don't know what else are we using to compile on other despicable platforms
12:22 timotimo hmm
12:22 timotimo well, you know, we're using {} and other kinds of parenthesis without using trigraphs
12:22 timotimo i think a latin1 character should be fine
12:25 Zoffix kinda weird $*SPEC.curupdir is a `none`, rather than `any` Junction; considering .curdir and .updir are strings '
12:25 Zoffix '.' and '..'
12:28 timotimo right, that must be because it was originally used as the test for dir?
12:28 timotimo which of course could also have used none(any(...)) rather than just the any from curupdir
12:28 timotimo or, you know, none(|$*SPEC.curupdir)
12:33 dogbert17 timotimo: the routines with the largest exclusive times are: mergesubstates (17.99), mergesubrule (14.85) and addedge (14.52)
12:33 dogbert17 these are percentages btw
12:34 timotimo oh, yikes, why isn't the result of that precompiled?
12:34 MasterDuke_ dogbert17: was that for a clean (i.e, hadn't been compiled before) run?
12:35 timotimo or is Slang::Tuxic exporting a "no precompilation" thing?
12:35 dogbert17 I had run it before but I could try again
12:35 dogbert17 https://github.com/FROGGS/p6-Slang-Tuxic/blob/master/lib/Slang/Tuxic.pm
12:36 timotimo i'unno
12:37 chansen_ joined #perl6-dev
12:39 * dogbert17 runs again with --profile-compile
12:40 dogbert17 1.3 secs to get the code running is quite much, perhaps it's different on 64 bit systems
12:41 timotimo well, we have the jit there, so that's something
12:41 lizmat feels to me the 1.3 is mostly Slang::Tuxic causing a redo of the grammar
12:42 timotimo hm. i wonder if a manual call to precompute_nfas would help
12:42 timotimo it's a private method on a Grammar
12:43 timotimo perhaps that could go into define_slang
12:44 dogbert17 lizmat: but if it takes the same time on [Tux] machine then that's 20 % of the total execution time
12:45 lizmat dogbert17: have you tried removing Slang::Tuxic from test-t.pl ?
12:46 lizmat looks like it doesn't need it
12:46 dogbert17 I do get compilation errors if I remove it
12:46 lizmat you do ?
12:46 lizmat hmmm
12:47 Zoffix I wanna add a mode argument to nqp::open(). Right now we have no core way to securely create files.
12:47 Zoffix And add a :chmode arg to IO::Handle.open.... :mode would be nice, but it's already taken up :/
12:48 Zoffix I mean :chmod
12:48 timotimo opening and at the same time (?) changing the permission flags?
12:48 dogbert17 lizmat: two terms in a row on e.g.         $sum = [+] $csv.getline_all ($*IN)».map(*.elems);
12:49 Zoffix timotimo: just giving different mode to libuv than DEFAULT_MODE
12:49 lizmat yeah... seeing now too, wonder what happened before
12:49 timotimo mhm
12:49 Zoffix timotimo: I'd hope there's no "changing" but rather the file is created in the given permissions from the start
12:49 timotimo ah
12:49 Zoffix Otherwise there's still a security issue
12:51 lizmat dogbert17: rewriting test-t.pl to plain Perl 6 saves me 13% (3877 -> 3406 msecs)
12:51 dogbert17 that's quite a savings
12:52 lizmat it *would* bring it below 5 seconds again  :-)
12:52 dogbert17 but I seem to remember that [Tux] wanted his slang
12:52 [Tux] correct. no slang = no Text::CSV (at least not by me)
12:52 lizmat yeah, but one could argue that's not needed in the test file
12:53 lizmat [Tux]: I mean, test-t.pl is like a user file, and a user would most likely *not* use Slang::Tuxic
12:53 [Tux] lizmat, I agree: but if it surfaces additional problems, the canary lives happily everafter
12:53 lizmat so I think it would be fair to remove Slang::Tuxic from test-t
12:53 [Tux] lizmat, unless the user is me :)
12:54 lizmat well, we could make a test-tuxic.pl  :-)
12:54 timotimo [Tux]: how many lines is hello.csv supposed to have so i get the same workload as you?
12:54 jnthn Or try to figure out why Slang::Tuxic requires `no precompilation`, if that's the issue? :)
12:54 Zoffix huggable: bench csv
12:54 huggable Zoffix, export PATH=`pwd`/install/bin:$PATH; cd CSV; for i in $(seq 1 10000); do echo 'hello,","," ",world,"!"'; done > /tmp/hello.csv; time perl6 -Ilib -MText::CSV test-t.pl </tmp/hello.csv
12:54 Zoffix timotimo: ^
12:54 timotimo it doesn't have "no precompilation", though
12:54 Zoffix (ignore the export part)
12:54 timotimo ah
12:56 dogbert17 on my system I get (test-t) real 0m8.859s, (test-no-tuxic) real 0m7.871s # this is a crappy i5 660
12:58 jnthn Ah, OK
12:58 lizmat m: say 8859 / 7871
12:58 camelia rakudo-moar bdb539: OUTPUT: «1.125524␤»
12:58 lizmat yeah, that's about what I saw
12:58 timotimo hm. i added precompute_nfas to define_slang but it didn't make mergesubstates/optimize/mergesubrule/addedge disappear from the top of the routines tab
12:58 timotimo it does have precompute_nfas in it, at the 5th spot, and it takes 73% of total run time
12:59 timotimo er, total compile time
13:00 * dogbert17 is now grammar expert so https://github.com/FROGGS/p6-Slang-Tuxic/blob/master/lib/Slang/Tuxic.pm does not give me any clues
13:00 dogbert17 s/now/no/ :)
13:02 timotimo dogbert17: It is like a finger pointing away to the moon. Don't concentrate on the finger or you will miss all that heavenly glory.
13:03 timotimo (the finger is Slang::Tuxic, the moon is rakudo's and nqp's innards)
13:03 dogbert17 ah
13:08 dogbert17 so IS Slang::Tuxic precompiled?
13:10 lizmat yes
13:10 lizmat afaik
13:10 lizmat and Text::CSV as well
13:10 lizmat afaik
13:12 dogbert17 so it might be the 'redoing of the grammar' which takes up the time then, like you wrote earlier
13:14 lizmat m: say now - BEGIN now; sub postfix:<!>(\a) { a }   # the cost of rewriting the grammar
13:14 camelia rakudo-moar bdb539: OUTPUT: «0.28916266␤»
13:15 lizmat m: say now - BEGIN now; sub prefix:<!>(\a) { a }
13:15 camelia rakudo-moar bdb539: OUTPUT: «0.0146918␤»
13:15 lizmat prefix:<!> exists in core, postfix:<!> doesn't
13:15 pmurias jnthn: I made a pull request to fix the str to num conversion
13:15 pmurias jnthn: :16[1,1] is not implemented yet
13:16 pmurias jnthn: http://paste.scsys.co.uk/559078
13:16 dogbert17 so the thing that didn't exist tool ~0.3 secs to compile then
13:16 pmurias jnthn: that the test file for that PR
13:20 Geth ¦ roast: d543e756ad | (Zoffix Znet)++ | S32-io/io-handle.t
13:20 Geth ¦ roast: [io grant] Test IO::Handle.DESTROY closes the handle
13:20 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d543e756ad
13:21 timotimo i don't konw how grammar::tracer fails to invoke the original $meth
13:22 timotimo oh, it could very well be it's deeper inside than i thought
13:25 timotimo we really are calling invoke_o on VMNull
13:27 lizmat Zoffix: s/It's worth nothing/It's worth noting/ ?
13:30 Geth ¦ rakudo/nom: 9e7d0b36cb | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
13:30 Geth ¦ rakudo/nom: Make Baggy.roll about 15% faster
13:30 Geth ¦ rakudo/nom:
13:30 Geth ¦ rakudo/nom: Also fix issue for Bag.new.roll, which used to fail.
13:30 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9e7d0b36cb
13:30 astj joined #perl6-dev
13:31 Zoffix lizmat++ thanks fixed.
13:34 timotimo jnthn: could the fact that match objects and cursors are now the same thing (and derived from the grammar if i understand correctly?) have some bearing on why grammar::tracer's wrapcache explodes?
13:37 timotimo the last thing it prints from my debugspam before exploding is that it's just made an unwrapped version of !alt
13:39 timotimo huh, *weird*
13:39 timotimo say "something" gives an "unable to invoke this object (REPR: Null, VMNull)"
13:39 evalable6 timotimo, Full output: https://gist.github.com/9a2cf767c4a6bcb4a8bfc51f30c40286
13:39 evalable6 timotimo, rakudo-moar 9e7d0b36c: OUTPUT: «(exit code 1) ===SORRY!=== Error while compiling /tmp/LApikm2HtN␤Two ter…»
13:39 timotimo but nqp::say("something") works
13:39 timotimo thank you, evalable6
13:44 dogbert17 timotimo: so we have a couple of broken modules as well
13:45 timotimo what the flying fuck.
13:45 timotimo even $indent++ or $indent = $indent + 1 breaks
13:47 timotimo jnthn: could it be that the created wrapper function somehow isn't correctly closing over the perl6 core setting?
13:49 * timotimo pretty stumped
14:00 * [Tux] re-runs after lizmat's commit
14:01 [Tux] note that this did neither change Text::CSV not perl6 (rakude/nqp), but *just* the invoking script
14:02 [Tux] s/not/nor/
14:02 [Tux] 4.436
14:02 lizmat whee!  :-)
14:03 [Tux] I still think this time change isn't fair
14:04 lizmat [Tux]: I think it would only be unfair if you were the only user of Text::CSV, which I sincerely hope is *not* the case
14:05 lizmat afaik, test-t is about testing Text::CSV performance, not Slang::Tuxic performance
14:07 Geth ¦ rakudo/nom: aeecfc445d | (Elizabeth Mattijsen)++ | 5 files
14:07 Geth ¦ rakudo/nom: Move QuantHash helper methods to Rakudo::QuantHash
14:07 Geth ¦ rakudo/nom:
14:07 Geth ¦ rakudo/nom: Since I will probably add a few more in the near future, and I don't
14:07 Geth ¦ rakudo/nom: want to make Rakudo::Internals even more behemothy than it already is.
14:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aeecfc445d
14:08 dogbert17 lizmat++, [Tux]++
14:09 dogbert17 at least we now have an idea as to the current compile/execution overhead wrt Slang::Tuxic
14:10 lizmat $ 6 ''
14:10 lizmat real0m0.120s
14:10 lizmat $ 6 'use Slang::Tuxic'
14:10 lizmat real0m0.557s
14:10 [Tux] lizmat, I mean that it now *looks* like the speed improved, but nothing changed
14:11 [Tux] and there still remains the undelying performance loss of using a slang in two layers
14:11 lizmat [Tux]: two layers ?
14:11 lizmat there is only a compile time performance issue
14:12 lizmat since we don't pre-compile the script, we see that in every run
14:12 [Tux] Text::CSV already uses Slang::Tuxic, so I see no reason why having the calling script also using Slang::Tuxic causes that much overhead
14:12 [Tux] ah, oké, that explains
14:12 lizmat because the precomped version of Text::CSV doesn't need It anymore
14:12 [Tux] right
14:17 timotimo right, removing Slang::Tuxic from the rest of Text::CSV will not have a performance impact on test-t performance
14:18 timotimo anyway, ideally we'd be able to just re-use the precompiled result of Perl6::Grammar + Slang::Tuxic::Grammar and then the performance hit on test-t would be gone regardless of using Slang::Tuxic or not
14:23 lizmat timotimo: I'm not seeing how you could merge the precomped Grammars
14:24 timotimo hm. because the EXPORT is run every time the user script is run?
14:25 timotimo you're right, there's nothing we could really do about that :\
14:25 * lizmat would have loved to be proved wrong
14:26 timotimo a little spark of hope was to check if what we're being passed is the pristine Perl6::Grammar and just return a pre-made one from a module we've precomped
14:26 timotimo but i don't think we can just change the type from underneath the instance?
14:26 timotimo i mean, we do have a type change thing that exists. not sure if that'd work here
14:27 * lizmat neither  :-)
14:29 timotimo of course, test-t could become a module that just gets used and it'd do its thing in the mainline :)
14:32 lizmat yes, but *that* feels like cheating, as we lose the compile overhead of test-t altogether then
14:32 timotimo yes
14:32 lizmat Text::CSV is typically used in one/few-off situations
14:32 timotimo it'll give an unexplained change in all timings
14:33 lizmat if anything, perhaps we should deduct .3 from all measurements so far
14:33 timotimo mayhaps
14:33 timotimo anyway, the whole mergesubrules and stuff business can become faster from a thing TT has been pondering
14:34 timotimo so maybe we'll get to chop a few second-parts from compile time there
14:34 lizmat that would be brill  :-)
14:37 dogbert17 as far as the rest of the code I remember [Tux] pointing to the slowness of the NEXT phasers
14:40 Geth ¦ rakudo/nom: 94390ae9ca | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
14:40 Geth ¦ rakudo/nom: Use the more ideomatic .raw_hash instead of nqp
14:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94390ae9ca
14:40 Geth ¦ rakudo/nom: 2bd1d9ec77 | (Elizabeth Mattijsen)++ | 3 files
14:40 Geth ¦ rakudo/nom: Move R:I:WeightedRole to R:QuantHash
14:40 Geth ¦ rakudo/nom:
14:40 Geth ¦ rakudo/nom: To make Rakudo::Internals less behemothy still
14:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2bd1d9ec77
14:54 lizmat afk&
15:08 astj joined #perl6-dev
15:29 stmuk joined #perl6-dev
15:37 stmuk_ joined #perl6-dev
15:38 [Tux] dogbert17, that is because return/next/last is handled as exception (as jnthn explained), so only an optimizer can be used to boost the use of next
15:39 [Tux] where a relatively simple looking loop using next and last to jump out of it can be re-written to be a huge if/else tree
15:56 BenGoldberg joined #perl6-dev
15:58 stmuk joined #perl6-dev
16:07 stmuk joined #perl6-dev
16:16 stmuk_ joined #perl6-dev
16:20 stmuk joined #perl6-dev
16:31 stmuk_ joined #perl6-dev
16:34 stmuk joined #perl6-dev
16:37 stmuk__ joined #perl6-dev
16:39 stmuk_ joined #perl6-dev
16:43 [Tux] joined #perl6-dev
18:17 ugjka_ joined #perl6-dev
18:40 Geth ¦ rakudo/nom: d672424efc | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
18:40 Geth ¦ rakudo/nom: Reorder methods into logical sections
18:40 Geth ¦ rakudo/nom:
18:40 Geth ¦ rakudo/nom: Purely to make maint easier
18:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d672424efc
18:40 Geth ¦ rakudo/nom: 07feca6747 | (Elizabeth Mattijsen)++ | 3 files
18:40 Geth ¦ rakudo/nom: Add R:Q.BAG-TOTAL, make BagHash.roll 1.7x as fast
18:40 Geth ¦ rakudo/nom:
18:40 Geth ¦ rakudo/nom: Optimize the adding up of values in a Bag/BagHash.  Is not as important
18:40 Geth ¦ rakudo/nom: for Bag's as is it cached there upon first usage.  But since BagHashes
18:40 Geth ¦ rakudo/nom: are mutable, the total is currently calculated each call.
18:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/07feca6747
19:22 MasterDuke_ s: &infix:<%%>, \(4, 2)
19:22 SourceBaby MasterDuke_, Sauce is at https://github.com/rakudo/rakudo/blob/07feca6/src/core/Numeric.pm#L221
19:31 Geth ¦ rakudo/nom: 5e459bce12 | (Elizabeth Mattijsen)++ | 4 files
19:31 Geth ¦ rakudo/nom: Add R:Q.MIX-TOTAL, make MixHash.total 1.4x faster
19:31 Geth ¦ rakudo/nom:
19:31 Geth ¦ rakudo/nom: Optimize the adding up of values in a Mix/MixHash.  Is not as important
19:31 Geth ¦ rakudo/nom: for Mixes as is it cached there upon first usage.  But since MixHashes
19:31 Geth ¦ rakudo/nom: are mutable, the total is currently calculated each call.
19:31 Geth ¦ rakudo/nom:
19:31 Geth ¦ rakudo/nom: This does not affect Mixy.roll, as that uses another logic.
19:31 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e459bce12
20:05 Geth ¦ rakudo/nom: b1fbd1331d | (Elizabeth Mattijsen)++ | 3 files
20:05 Geth ¦ rakudo/nom: Some more uses of .raw_hash
20:05 Geth ¦ rakudo/nom:
20:05 Geth ¦ rakudo/nom: Preparing some more for %!elems -> $!elems shift.  Also some logic
20:05 Geth ¦ rakudo/nom: folding to handle empty (Bag|Mix)Hashes faster.
20:05 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b1fbd1331d
20:14 Geth ¦ nqp: MasterDuke17++ created pull request #356: Some cleanup to the SQL profile output
20:14 Geth ¦ nqp: review: https://github.com/perl6/nqp/pull/356
20:28 stmuk joined #perl6-dev
20:38 lizmat MasterDuke_: it looks like your PR breaks the JVM build ?
20:39 MasterDuke_ t/qast/01-qast.t failed, but i don't see how i could have effected that at all
20:42 Geth ¦ rakudo/nom: 7404c706ff | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
20:42 Geth ¦ rakudo/nom: Add R:Q.A.MIX-TOTAL-POSITIVE
20:42 Geth ¦ rakudo/nom:
20:42 Geth ¦ rakudo/nom: Needed for streamlining Mix.roll
20:42 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7404c706ff
20:42 Geth ¦ rakudo/nom: 762fd23906 | (Elizabeth Mattijsen)++ | 5 files
20:42 Geth ¦ rakudo/nom: Make Bag|Mix.new return bag()|mix() directly
20:42 Geth ¦ rakudo/nom:
20:42 Geth ¦ rakudo/nom: Without needing to create an intermediate Bag|Mix object.  Since
20:42 Geth ¦ rakudo/nom: new() lived in the role, this shouldn't actually add any new entries
20:42 Geth ¦ rakudo/nom: to the MMD tables.
20:42 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/762fd23906
21:04 japhb .tell nine With a Rakudo built from scratch a few minutes ago, I am unable to install Inline::Perl5 using zef, despite tests passing.  Error: ===> Install [FAIL] for Inline::Perl5:ver('0.26'):auth('github:niner'): ===SORRY!=== Could not find Inline::Language::ObjectKeeper at line 4 in: ...
21:04 yoleaux japhb: I'll pass your message to nine.
21:07 Geth ¦ rakudo/nom: fec547a1ed | (Elizabeth Mattijsen)++ | 2 files
21:07 Geth ¦ rakudo/nom: Abstract Baggy.roll() into R:Q.BAG-ROLL
21:07 Geth ¦ rakudo/nom:
21:07 Geth ¦ rakudo/nom: So we can streamline Baggy.roll(x) and Mixy.roll(x).  No noticeable
21:07 Geth ¦ rakudo/nom: performance difference on Baggy.roll.
21:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fec547a1ed
21:12 stmuk_ joined #perl6-dev
21:16 stmuk joined #perl6-dev
21:24 stmuk_ joined #perl6-dev
21:26 stmuk joined #perl6-dev
21:27 astj joined #perl6-dev
21:31 stmuk__ joined #perl6-dev
21:50 lizmat hmmm.... Geth and/or GitHub a little slow
21:51 lizmat anyways, I've just committed https://github.com/rakudo/rakudo/commit/a2602b9cee60f746b601
21:51 MasterDuke_ gfldex was mentioning in #perl6 that he was testing github's api today and it was very slow and causing retries
21:51 timotimo https://status.github.com/
21:51 timotimo you see that?
21:52 lizmat yeah, looks all green no?
21:52 timotimo "time to first byte" went up to almost 20 seconds (or is that just 2s?)
21:52 lizmat looks like it peaked just below 4 secs
21:53 timotimo right, not 20 %)
21:53 lizmat but mean hook delivery time is still < 1 second
21:53 lizmat so maybe Geth has an issue ?
22:00 lizmat anyways, looking at Baggy.grab(*)
22:01 lizmat currently, that's eager
22:01 lizmat I'm thinking of making it lazy, and having it return a Seq
22:05 timotimo hmm
22:05 timotimo so as you're iterating over the list, the bag slowly gets mutated?
22:10 lizmat yeah, so I'm not sure whether that would be a bug or a feature
22:10 lizmat I mean, if you want immediate removal, then make it eager :-)
22:10 lizmat docs don't state anything about laziness
22:11 lizmat specs also don't say anything about laziness
22:13 timotimo right
22:14 timotimo interesting little tidbit
22:14 lizmat I could see uses for a lazy grab
22:14 timotimo yeah
22:14 timotimo kind of
22:14 lizmat anyways, I will sleep on it...
22:14 lizmat enough hacking today...
22:14 lizmat good night, #perl6-dev!
22:15 timotimo gnite lizmat!
22:27 brrt joined #perl6-dev
22:32 BenGoldberg How can you be going to bed, it's only 6 pm! ;)
23:24 geekosaur joined #perl6-dev
23:30 geekosaur joined #perl6-dev
23:42 Geth joined #perl6-dev
23:42 Zoffix "◀▬▬ │ Geth (zofbot-get@perl6.party) has quit (Remote host closed the connection)"
23:42 Zoffix It wasn't even in the channel when you were discussing it..
23:42 Zoffix And I don't know why it died because I still didn't add any logging to it. Its screen was just not found :/
23:43 timotimo oof
23:51 Geth joined #perl6-dev
23:55 MasterDuke_ fyi, timotimo merged https://github.com/perl6/nqp/pull/356 while Geth was still away
23:59 Zoffix hm
23:59 Zoffix m: my @COMMIT-FILTERS where .all ~~ Callable && .all.name = sub foo ($) {}
23:59 camelia rakudo-moar a2602b: OUTPUT: «Sub object coerced to string (please use .gist or .perl to do that)␤  in block <unit> at <tmp> line 1␤»
23:59 Zoffix m: my @COMMIT-FILTERS where {.all ~~ Callable && .all.name} = sub foo ($) {}
23:59 camelia rakudo-moar a2602b: ( no output )

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