Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-06-27

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

All times shown according to UTC.

Time Nick Message
00:09 BenGoldberg joined #perl6-dev
00:35 awwaiid joined #perl6-dev
00:49 awwaiid joined #perl6-dev
00:55 cog_ joined #perl6-dev
00:59 awwaiid joined #perl6-dev
01:10 awwaiid joined #perl6-dev
01:19 awwaiid joined #perl6-dev
01:33 awwaiid joined #perl6-dev
01:39 awwaiid joined #perl6-dev
01:52 ilbot3 joined #perl6-dev
01:52 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:55 awwaiid joined #perl6-dev
02:04 awwaiid joined #perl6-dev
02:27 awwaiid joined #perl6-dev
02:41 awwaiid joined #perl6-dev
02:46 awwaiid joined #perl6-dev
02:59 awwaiid joined #perl6-dev
03:06 awwaiid joined #perl6-dev
03:16 awwaiid joined #perl6-dev
03:32 awwaiid joined #perl6-dev
03:38 awwaiid joined #perl6-dev
03:43 llfourn MoarVM panic: Heap corruption detected: pointer 0x7f0fe9a16410 to past fromspace # on latest travis build
03:43 llfourn https://travis-ci.org/spitsh/spitsh/builds/247357557#L1355
03:44 awwaiid joined #perl6-dev
03:55 awwaiid joined #perl6-dev
04:07 awwaiid joined #perl6-dev
04:40 awwaiid joined #perl6-dev
04:46 awwaiid joined #perl6-dev
04:51 awwaiid joined #perl6-dev
04:57 awwaiid joined #perl6-dev
05:02 awwaiid joined #perl6-dev
05:09 awwaiid joined #perl6-dev
05:13 lizmat_ joined #perl6-dev
05:19 awwaiid joined #perl6-dev
05:24 awwaiid joined #perl6-dev
05:37 raydiak_ joined #perl6-dev
05:51 awwaiid joined #perl6-dev
05:57 awwaiid joined #perl6-dev
06:03 awwaiid joined #perl6-dev
06:30 awwaiid joined #perl6-dev
06:36 awwaiid joined #perl6-dev
06:37 cog_ joined #perl6-dev
06:41 awwaiid joined #perl6-dev
06:41 brrt joined #perl6-dev
06:41 [Tux] This is Rakudo version 2017.06-75-g823011281 built on MoarVM version 2017.06-30-g389e9732
06:41 [Tux] csv-ip5xs        2.667
06:41 [Tux] test            12.656
06:41 [Tux] test-t           4.138 - 4.245
06:41 [Tux] csv-parser      12.801
06:46 awwaiid joined #perl6-dev
06:52 awwaiid joined #perl6-dev
06:58 awwaiid joined #perl6-dev
06:58 vendethiel joined #perl6-dev
07:10 awwaiid joined #perl6-dev
07:16 awwaiid joined #perl6-dev
07:25 awwaiid joined #perl6-dev
07:37 awwaiid joined #perl6-dev
07:39 astj joined #perl6-dev
07:46 awwaiid joined #perl6-dev
07:48 lizmat Files=1207, Tests=62917, 219 wallclock secs (13.12 usr  5.03 sys + 1327.15 cusr 135.32 csys = 1480.62 CPU)
07:48 astj joined #perl6-dev
07:51 awwaiid joined #perl6-dev
08:02 awwaiid joined #perl6-dev
08:13 awwaiid joined #perl6-dev
08:19 awwaiid joined #perl6-dev
08:19 robertle joined #perl6-dev
08:32 awwaiid joined #perl6-dev
08:37 Geth ¦ roast: 0f97380f9a | (Elizabeth Mattijsen)++ | S03-operators/difference.t
08:37 Geth ¦ roast: Add tests for mix() (-) <a b c>.Mix
08:37 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0f97380f9a
08:38 Geth ¦ rakudo/nom: c727462cde | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
08:38 Geth ¦ rakudo/nom: Fix mix() (-) <a b c>.Mix
08:38 Geth ¦ rakudo/nom:
08:38 Geth ¦ rakudo/nom: This was improperly returning the empty mix(), instead of negating
08:38 Geth ¦ rakudo/nom: the weights of the right hand side.
08:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c727462cde
08:46 lizmat afk&
08:50 awwaiid joined #perl6-dev
09:00 awwaiid joined #perl6-dev
09:06 awwaiid joined #perl6-dev
09:06 FROGGS joined #perl6-dev
09:06 FROGGS o/
09:06 yoleaux 30 Mar 2017 19:48Z <Zoffix> FROGGS: if.pm6 is busted and that breaks install of some crypto modules. Any ideas for how to fix? The role's method never gets run; dunno where to take it from here: https://github.com/FROGGS/p6-if/issues/2
09:06 FROGGS uff
09:07 jnthn o/ FROGGS
09:08 FROGGS hi jnthn
09:08 jnthn At least it seems if.pm6 got fixed in the meantime :)
09:08 FROGGS phew, zoffix++ already fixed that issue
09:08 astj joined #perl6-dev
09:08 FROGGS aye :o)
09:09 FROGGS btw, I'm planning to pop in here in the evenings again...
09:10 nine FROGGS! \o/
09:10 FROGGS hi nine :o)
09:13 nine FROGGS: haven't read you in ages. How're you doing?
09:14 awwaiid joined #perl6-dev
09:15 brrt yes, that
09:15 tadzik o/
09:16 astj joined #perl6-dev
09:17 FROGGS ohh, I'm fine
09:18 FROGGS was absent due to a biggish project at $work...
09:18 FROGGS but now want to experiment with my Mojolicious app and try to port stuff over
09:20 FROGGS the current module installer is zef, ehh?
09:20 moritz it is
09:26 nebuchad` joined #perl6-dev
09:30 cono_ joined #perl6-dev
09:30 [Coke]_ joined #perl6-dev
09:30 [TuxCM] joined #perl6-dev
09:30 sivoais_ joined #perl6-dev
09:31 cog_ joined #perl6-dev
09:38 awwaiid joined #perl6-dev
09:41 camelia joined #perl6-dev
09:41 FROGGS joined #perl6-dev
09:42 awwaiid joined #perl6-dev
09:47 awwaiid joined #perl6-dev
09:51 astj joined #perl6-dev
09:53 awwaiid joined #perl6-dev
09:58 awwaiid joined #perl6-dev
10:04 awwaiid joined #perl6-dev
10:09 dogbert2 lizmat: 'not ok 97 - Mix symmetric difference reduce works on three mixes' # is this work in progress?
10:11 * dogbert2 notes that running spectest with HARNESS_TYPE=6 no longer outputs the names of the test files being run !?
10:12 awwaiid joined #perl6-dev
10:18 awwaiid joined #perl6-dev
10:35 awwaiid joined #perl6-dev
10:46 lizmat dogbert2: yeah, still determining whether the test or the code is afaulty
10:46 awwaiid joined #perl6-dev
10:47 * lizmat confirms what dogbert2 said
10:52 awwaiid joined #perl6-dev
10:57 awwaiid joined #perl6-dev
11:08 awwaiid joined #perl6-dev
11:15 awwaiid joined #perl6-dev
11:24 yoleaux joined #perl6-dev
11:29 Geth ¦ roast: 641916fbbe | (Elizabeth Mattijsen)++ | S03-operators/addition.t
11:29 Geth ¦ roast: Add thorough testing for (+)
11:29 Geth ¦ roast:
11:29 Geth ¦ roast: The commented out lines currently fail  :-(   That's quite a number
11:29 Geth ¦ roast: of cases  :-( :-(
11:29 Geth ¦ roast: review: https://github.com/perl6/roast/commit/641916fbbe
11:29 awwaiid joined #perl6-dev
11:34 awwaiid joined #perl6-dev
11:39 cog_ joined #perl6-dev
11:46 awwaiid joined #perl6-dev
11:54 AlexDaniel joined #perl6-dev
12:40 ilbot3 joined #perl6-dev
12:44 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
12:44 Geth ¦ rakudo/nom: 9bd75f14df | (Elizabeth Mattijsen)++ | 2 files
12:44 Geth ¦ rakudo/nom: Normalize R:Q.ADD-MIX-TO-MIX interface
12:44 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9bd75f14df
12:50 ilbot3 joined #perl6-dev
12: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
12:55 awwaiid joined #perl6-dev
13:03 awwaiid joined #perl6-dev
13:05 DeadDelta We don't guarantee any support for nqp, right? Like, were someone to use an op, it's their own dumb fault if we change that op and their code breaks?
13:14 ilbot3 joined #perl6-dev
13:14 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
13:15 jnthn Always after 942 iterations, even with spesh disabled.
13:16 DeadDelta m: class { has int $!n = 0; method x { $!n += 2 while $!n < 20000000 } }.new.x; say now - INIT now
13:16 camelia rakudo-moar 6dae17: OUTPUT: «6.992108␤»
13:16 DeadDelta m: class { has int $!n = 0; method x { my int $n = 0; $n += 2 while $n < 20000000 } }.new.x; say now - INIT now
13:16 camelia rakudo-moar 6dae17: OUTPUT: «5.2410657␤»
13:17 DeadDelta So accessing an attribute is just more expensive or is something else happening?
13:18 jnthn Just more expensive
13:19 DeadDelta Thanks.
13:19 jnthn (Which is probably consistently true across languages.)
13:22 lizmat .oO( DeadDelta is finding out the intricacies of push-all  :-)
13:24 DeadDelta :) I think I won't talk about any other .push* (like .push-at-least) in my article. They probably outside what a regular user would want to write, even if they're writing custom Iterators
13:24 DeadDelta (I don't even know what user-land example would trigger calls to them :/)
13:25 lizmat my @a = ^1000   # that would be a push-all
13:27 perlpilot joined #perl6-dev
13:27 DeadDelta Yeah, that's the only one I figured out. But others, like .push-at-least or .push-exactly  or .push-until-lazy
13:27 lizmat -> $a, $b { }
13:27 lizmat if I recall correctly
13:27 lizmat perhaps that is optimized
13:27 lizmat more like -> $a, $b, $c  # three or more
13:28 DeadDelta What's that? In .map signature?
13:28 lizmat for @a -> $a, $b, $c { }  ?
13:29 DeadDelta oh yeah. Thanks :)
13:29 lizmat it creates a buffer internally for the 3 params on which it does a push-at-least
13:29 DeadDelta And .push-until-lazy. What's the idea behind that one?
13:31 DeadDelta I'll just mention there are other .push-* things if you care about every last drop of performance and won't describe them :)
13:35 dogbert2 wrt RT #131592, on my system it eats up all available fd's (1024) quite qickly and then hangs
13:35 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131592
13:35 awwaiid joined #perl6-dev
13:35 DeadDelta There are docs even https://docs.perl6.org/type/Iterator#method_push-until-lazy
13:45 ilbot3 joined #perl6-dev
13:45 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
13:45 jnthn Hm, but maybe we should try to solve it at Perl 6 level, not VM level
13:45 jnthn Let's see...
13:46 pmurias joined #perl6-dev
13:49 dogbert2 AlexDaniel: that definitely helped, now only ~80 fd's are open on exit
13:49 AlexDaniel .oO( what? Is he saying that there is a possibility that I won't have to fix this issue in my scripts till the end of my days? Instead, I can even remove redundant $p.out.close lines? )
13:49 pmurias jnthn: is it sane for me to try to get Proc::Async to work on the js backend (I have coroutines on node.js, but most js implementations don't have threads)
13:49 AlexDaniel .oO( in fact, we won't even need to document it as a trap? :O )
13:51 timotimo pmurias: probably fine to do it via the event loop
13:51 awwaiid joined #perl6-dev
13:52 jnthn pmurias: I suspect it may somehow be possible to do it, though probably not entirely easy
13:52 jnthn AlexDaniel: Initial results seem promising at least
13:53 * jnthn spectests the change
13:59 Geth ¦ roast: 6f911a9998 | (Elizabeth Mattijsen)++ | S03-operators/addition.t
13:59 Geth ¦ roast: Do tests for (a=>-1).Mix (+) <a>.Mix -> mix()
13:59 Geth ¦ roast:
13:59 Geth ¦ roast: Also disable debugging helpers.
13:59 Geth ¦ roast: review: https://github.com/perl6/roast/commit/6f911a9998
13:59 jnthn Hm, on reflection initial solution maybe a bit aggressive
13:59 * jnthn spectests a probably better one
14:02 Geth ¦ rakudo/nom: 66aef5893d | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
14:02 Geth ¦ rakudo/nom: Make Mix (+) Mix a bit smarter
14:02 Geth ¦ rakudo/nom:
14:02 Geth ¦ rakudo/nom: - test for empty mixes better
14:02 Geth ¦ rakudo/nom: - start with a deep clone of left instead of re-building on the fly
14:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/66aef5893d
14:02 Geth ¦ rakudo/nom: d183846116 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
14:02 Geth ¦ rakudo/nom: Make Mix (+) Mix about 1.5x faster
14:02 Geth ¦ rakudo/nom:
14:02 Geth ¦ rakudo/nom: - also fix problem with negative weights cancelling out
14:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d183846116
14:03 cog_ joined #perl6-dev
14:04 sivoais joined #perl6-dev
14:05 awwaiid joined #perl6-dev
14:06 Geth ¦ rakudo/nom: abfd7d9518 | (Jonathan Worthington)++ | src/core/Proc/Async.pm
14:07 Geth ¦ rakudo/nom: Don't leak handles plumbed into another process.
14:07 Geth ¦ rakudo/nom:
14:07 Geth ¦ rakudo/nom: By closing them automatically. This fixes RT #131592 running out of
14:07 Geth ¦ rakudo/nom: handles.
14:07 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131592
14:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/abfd7d9518
14:07 jnthn There we go
14:22 ilbot3 joined #perl6-dev
14:22 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
14:24 * jnthn has one more tweak at merge, though
14:24 jnthn Just in case I missed something last time around when doing it
14:27 jnthn No, seems that I did try before the way to get a single descriptor
14:27 awwaiid joined #perl6-dev
14:27 jnthn It just ends up losing stderr
14:28 jnthn (If you make a pipe and then point stderr at the same pipe as was bound to stdout)
14:30 jnthn So, can't really do it unless one of us figures out how to make that happen.
14:30 jnthn And I've not been able to
14:30 jnthn And found a libuv mailing list post whether somebody else seemed to struggle with the same issue and there wasn't a solution
14:32 * jnthn makes the last push on Proc::Async so he can do something that isn't process-related tomorrow :)
14:33 ugexe I thought in NIO ( >:) ) at least it was just like redirectBlahBlah(foo) redirectBarBar(foo)
14:33 * ugexe isnt a java programmer... just went through the java bits of the proc stuff years ago
14:33 Geth ¦ rakudo/nom: 5fb6d67921 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
14:33 Geth ¦ rakudo/nom: Abstract Setty::BAGGIFY logic into R:Q.SET-BAGGIFY
14:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5fb6d67921
14:33 Geth ¦ rakudo/nom: 36bf08fca3 | (Elizabeth Mattijsen)++ | src/core/Setty.pm
14:33 Geth ¦ rakudo/nom: Make Setty.(Bag|Mix)(|Hash) use R:Q.SET-BAGGIFY
14:33 Geth ¦ rakudo/nom:
14:33 Geth ¦ rakudo/nom: Also fix bug in that empty Sets would not coerce to bag() and mix(),
14:33 Geth ¦ rakudo/nom: but to a newly created Bag/Mix
14:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/36bf08fca3
14:42 brrt joined #perl6-dev
14:43 awwaiid joined #perl6-dev
14:54 ilbot3 joined #perl6-dev
14:54 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
15:00 Geth ¦ rakudo/nom: 11b02d2ca6 | (Jonathan Worthington)++ | src/core/Proc/Async.pm
15:00 Geth ¦ rakudo/nom: Add plumbing std[out|err] to stdin in Proc::Async.
15:00 Geth ¦ rakudo/nom:
15:00 Geth ¦ rakudo/nom: So you can now write `$proc2.bind-stdin($proc1.stdout)` and have it
15:00 Geth ¦ rakudo/nom: work.
15:00 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11b02d2ca6
15:01 Geth ¦ roast: c1f176656a | (Jonathan Worthington)++ | S17-procasync/bind-handles.t
15:01 Geth ¦ roast: Tests for Proc::Async descriptor plumbing.
15:01 Geth ¦ roast: review: https://github.com/perl6/roast/commit/c1f176656a
15:02 jnthn There we go
15:02 jnthn Now there really is nothing that Proc can do that Proc::Async can't :)
15:07 DeadDelta ZofBot: but will it blend?
15:07 ZofBot DeadDelta, but this is super-powerful and exciting! I do look at systems that receive http calls and then make calls into other systems with retries and standoffs, collate the results and feed them back
15:09 brrt jnthn++
15:10 Geth ¦ rakudo/nom: bacaa05150 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
15:10 Geth ¦ rakudo/nom: Make Setty (-) Setty about 20% faster
15:13 Geth ¦ rakudo/nom:
15:15 Geth ¦ rakudo/nom: - by first baggifying the left Setty instead of building a Bag from scratch
15:16 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bacaa05150
16:06 ilbot3 joined #perl6-dev
16:06 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
16:16 ilbot3 joined #perl6-dev
16:16 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
16:20 awwaiid joined #perl6-dev
16:29 mr_ron joined #perl6-dev
16:36 awwaiid joined #perl6-dev
16:46 awwaiid joined #perl6-dev
17:14 awwaiid joined #perl6-dev
17:29 cog_ joined #perl6-dev
17:44 lizmat .tell [Tux] in line 1037 of CSV.pm, can the size of @ch change while in the loop?
17:44 yoleaux lizmat: I'll pass your message to [Tux].
17:50 [TuxCM] joined #perl6-dev
17:56 [Tux] yes, see line 1253
17:56 yoleaux 17:44Z <lizmat> [Tux]: in line 1037 of CSV.pm, can the size of @ch change while in the loop?
17:56 [Tux] and line 1308
17:57 [Tux] that specifically happens with embedded EOL's
17:57 lizmat oki  :-)
17:58 * lizmat stops optimising CSV.pm again
18:13 * dogbert2 make spectest suddenly has a tendency to hang, one random test file never completes
18:18 * [Coke] mentions his weird new doc issue over here, JIC: https://irclog.perlgeek.de/perl6/2017-06-27#i_14793874 (it's generating "invalid UTF8", but only with run, perl6 --doc, and .lines)
18:24 greppable6 joined #perl6-dev
18:24 committable6 joined #perl6-dev
18:24 evalable6 joined #perl6-dev
18:24 unicodable6 joined #perl6-dev
18:24 bisectable6 joined #perl6-dev
18:24 benchable6 joined #perl6-dev
18:24 quotable6 joined #perl6-dev
18:24 bloatable6 joined #perl6-dev
18:24 statisfiable6 joined #perl6-dev
18:52 Ven joined #perl6-dev
18:53 mst http://trout.me.uk/foom.jpg ?
18:54 DeadDelta :)
18:56 ugexe [Coke]: I have a similar issue where I use proc to read lines (url per line) and launch a new proc for each line. it always crashes at 254 on my system (and only osx). i thought it was from the launched processes but now I wonder if its the .lines
19:00 [Coke] lines by itself is fine
19:00 [Coke] I also am on OS X.
19:10 DeadDelta Hehe, yeah, tell me more about how I should learn Perl 5 before criticising when shit like this has double the upvotes than any other post in /r/perl https://www.reddit.com/r/perl/comments/6jpkhj/i_play_everquest_on_the_project_1999_server_that/
19:10 DeadDelta ZofBot: they want war! They got it!
19:10 ZofBot DeadDelta, } # define your own :x modifier Pragmas Various pragmas may be used to control various aspects of regex compilation and usage not otherwise provided for
19:11 DeadDelta Oh, that reminds me.
19:12 AlexDaniel joined #perl6-dev
19:12 AlexDaniel jnthn: sooo, should we close https://github.com/perl6/doc/issues/1304 then?
19:13 Geth ¦ rakudo/nom: 7ec136f821 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/Perl6/Grammar.nqp
19:13 Geth ¦ rakudo/nom: Remove comment about implementing :p quoter
19:13 Geth ¦ rakudo/nom:
19:13 Geth ¦ rakudo/nom: We don't have any plans to implement it as the .IO coercer
19:13 Geth ¦ rakudo/nom: does the fine job and is short-enough
19:13 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7ec136f821
19:32 ggoebel joined #perl6-dev
20:00 DeadDelta moritz: on mobile, the log pages just say Forbidden" now :/
20:02 moritz DeadDelta: yes; I had to disable them due to runaway memory usage :(
20:04 DeadDelta :(
20:04 DeadDelta ZofBot: what will I read on the potty now????
20:04 ZofBot DeadDelta, Likewise certain implicit lexicals ($_, $/, and $!) are so marked
20:05 moritz if you have good ideas for debugging runaway memory usage in a p5 app, I'm all eager to hear it
20:06 DeadDelta What's the app?
20:06 DeadDelta dunno, nytproff or whatever can find it, no?
20:07 moritz the IRC log web app
20:07 moritz and nytprof is good for debugging time spent
20:08 moritz but not for memory leaks :(
20:14 DeadDelta the ilbot one? https://github.com/moritz/ilbot?files=1
20:16 DeadDelta and I'm guessing it doesn't leak on older perl 5
20:16 moritz right
20:16 moritz perl 5.20 -> 5.24
20:17 timotimo DeadDelta: for me, METAOP_ASSIGN disappears completely, at least when the LHS is a variable. potentially only in that case
20:17 timotimo in general, i think code that's guaranteed to throw a run-time error is a bad test case for the optimizer
20:18 DeadDelta Ah
20:18 moritz I guess I'll try to upgrade to a perl 5.26 via perlbrew
20:18 DeadDelta timotimo: yeah, my bad
20:19 Geth ¦ rakudo/nom: 2ce5b67815 | (Elizabeth Mattijsen)++ | src/core/Stash.pm
20:19 Geth ¦ rakudo/nom: Make Stash.AT-KEY a few percent faster
20:19 Geth ¦ rakudo/nom:
20:19 Geth ¦ rakudo/nom: - purely in nqp ops
20:19 Geth ¦ rakudo/nom: - separate candidate if no global fallback needed
20:19 Geth ¦ rakudo/nom: - don't allocate an nqp::hash until it's really needed
20:19 Geth ¦ rakudo/nom: - makes calling our subs from another package somewhat faster
20:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2ce5b67815
20:20 timotimo :)
20:27 lizmat it is now faster to call A::a instead of A.a *IF* you do not pass any arguments
20:27 lizmat (and not use self in the method case)
20:28 lizmat that's because the lookup with Stash.AT-KEY is faster than setting up "self" in the method
20:28 lizmat even if you don't use self or $!foo or $.foo inside the method
20:29 * jnthn is a tad surprised by that, in that the method could be inlined...
20:29 jnthn AlexDaniel: Seems like we can
20:30 lizmat jnthn: even inlined, setting up "self" through List.from-slurpy-flat is more expensive
20:30 DeadDelta TIL you can call A::a instead of A
20:30 DeadDelta TIL you can call A::a instead of A.a
20:31 AlexDaniel jnthn: thank you very much
20:31 jnthn Only if it's a sub
20:31 DeadDelta TIL you can call a sub as A.a :s
20:31 AlexDaniel we will see how it goes, I'll probably update rakudo for whateverables soon
20:31 jnthn lizmat: huh, where is List.from-slurpy-flat used?
20:31 lizmat m: class A { method a() { } }; for ^100000 { A.a }; say now - INIT now
20:31 camelia rakudo-moar 2ce5b6: OUTPUT: «0.14180921␤»
20:31 lizmat jnthn: ^^^
20:32 DeadDelta m class Foo { our sub x { say "hi" } }; Foo.x
20:32 jnthn m: class A { my method a() { } }; for ^100000 { A::a(A) }; say now - INIT now
20:32 camelia rakudo-moar 2ce5b6: OUTPUT: «Could not find symbol '&a'␤  in block <unit> at <tmp> line 1␤␤»
20:32 lizmat m: class A { our sub a() { } }; for ^100000 { A::a }; say now - INIT now
20:32 DeadDelta m: class Foo { our sub x { say "hi" } }; Foo.x
20:32 camelia rakudo-moar 2ce5b6: OUTPUT: «0.12977999␤»
20:32 camelia rakudo-moar 2ce5b6: OUTPUT: «No such method 'x' for invocant of type 'Foo'␤  in block <unit> at <tmp> line 1␤␤»
20:33 lizmat m: say 0.14180921 / 0.12977999
20:33 camelia rakudo-moar 2ce5b6: OUTPUT: «1.092689328␤»
20:33 DeadDelta Ah, now I get it
20:34 jnthn I still don't get the comment on List.from-slurpy-flat...
20:34 lizmat jnthn: class A { method a() { } }; for ^100000 { A.a }  # profile this and see that List.from-slurpy-flat takes 40% of CPU
20:36 jnthn Doesn't even show up in a profile of that that I just made
20:36 [Coke] jnthn: do you have local mods?
20:36 jnthn No, though build is a few days old
20:36 jnthn But it'd still be a totally bizzare thing for that code to call
20:37 jnthn It shows method a inlined into the sub body
20:37 jnthn uh, the loop block body I mean
20:38 * jnthn is just a tad surprised that the passing/handling of self would be so costly, is all
20:38 [Coke] camelia, help?
20:38 camelia [Coke]: Usage: <(rakudo-moar|p5-to-p6|prof-m|star-m|debug-cat|nqp-js|rakudo-jvm|nqp-moarvm|nqp-jvm|nqp-q|r-j|sm|star|nom|nqp-m|p6|m|p56|rakudo|nqp-mvm|r-m|r-jvm|j|rj|perl6|rm|r|nqp)(?^::\s(?!OUTPUT)) $perl6_program>
20:38 [Coke] prof-m: class A { method a() { } }; for ^100000 { A.a }
20:38 camelia prof-m : OUTPUT: «No such file or directory»
20:38 camelia .. Prof: http://p.p6c.org/4ae425a
20:38 [Coke] guess that's borked. :)
20:38 jnthn aww
20:38 camelia prof-m : OUTPUT: «(timeout)Can't exec "./rakudo-inst/bin/perl6-m": No such file or directory at lib/EvalbotExecuter.pm line 206.␤cat: /home/camelia/rakudo-inst/revision: No such file or directory␤␤now running scp...␤/tmp/mprof.html: No such file or directory␤»
20:38 camelia .. Prof: http://p.p6c.org/4ae4270
20:39 lizmat jnthn: ah, I get it now, so you're saying the from-slurpy-flat is called for the loop body ?
20:39 lizmat *not* for the method call ?
20:40 jnthn lizmat: I'm saying that on a profile using a bit-back-from-HEAD Rakudo I don't see a call to from-slurpy-flat at all
20:40 jnthn It just doesn't show up in the routines list
20:40 lizmat well, it does for me  :-(
20:41 jnthn Will try it in the morning on my work box where I've got a bleeding edge build
20:41 jnthn If it is there it's a recent regression
20:41 lizmat it claims it is being called at gen/moar/BOOTSTRAP.nqp:3185
20:42 lizmat which is the foreign_transform_array entry
20:42 jnthn And this is just for /perl6-m --profile -e 'class A { method a() { } }; for ^100000 { A.a }' ?
20:43 lizmat yup
20:43 * lizmat doubly verifies
20:43 lizmat yup
20:45 jnthn Wonder what coulda caused that
20:46 jnthn It's just a bizzare thing to end up calling
20:48 jnthn Ah well, tomorrow.
20:49 DeadDelta I see slurpy from flat on 2017.06-63-g2a88c20
20:49 cog_ joined #perl6-dev
20:51 DeadDelta m: List.^lookup('from-slurpy-flat').wrap: -> | { say "hi"; nextsame }; class A { method a() { } }; for ^1 { A.a }
20:51 camelia rakudo-moar 2ce5b6: OUTPUT: «No such method 'enter' for invocant of type 'Any'. Did you mean 'eager'?␤  in block <unit> at <tmp> line 1␤␤»
20:54 lizmat m: List.^lookup('from-slurpy-flat').head.wrap: -> | { say "hi"; nextsame }; class A { method a() { } }; for ^1 { A.a }
20:54 camelia rakudo-moar 2ce5b6: OUTPUT: «No such method 'enter' for invocant of type 'Any'. Did you mean 'eager'?␤  in block <unit> at <tmp> line 1␤␤»
20:54 lizmat hmmm
20:54 lizmat m: BEGIN List.^lookup('from-slurpy-flat').head.wrap: -> | { say "hi"; nextsame }; class A { method a() { } }; for ^1 { A.a }
20:54 camelia rakudo-moar 2ce5b6: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤An exception occurred while evaluating a BEGIN␤at <tmp>:1␤Exception details:␤  No such method 'enter' for invocant of type 'Any'. Did you mean 'eager'?␤    in code  at <tmp> line 1␤␤»
20:55 lizmat m: dd List.^lookup('from-slurpy-flat')
20:55 camelia rakudo-moar 2ce5b6: OUTPUT: «Method from-slurpy-flat = method from-slurpy-flat (List $: | is raw) { #`(Method|54316856) ... }␤»
20:55 lizmat m: dd List.^lookup('from-slurpy-flat').head
20:55 camelia rakudo-moar 2ce5b6: OUTPUT: «Method from-slurpy-flat = method from-slurpy-flat (List $: | is raw) { #`(Method|32997224) ... }␤»
20:55 DeadDelta Same error in 2015.12 fwiw
20:55 lizmat m: dd List.^lookup('from-slurpy-flat').head.wrap: -> { }
20:55 camelia rakudo-moar 2ce5b6: OUTPUT: «No such method 'enter' for invocant of type 'Any'. Did you mean 'eager'?␤  in block <unit> at <tmp> line 1␤␤»
21:00 awwaiid joined #perl6-dev
21:05 awwaiid joined #perl6-dev
21:16 DeadDelta Still have from-slurpy-flat on 2017.06
21:29 DeadDelta The profile on 2017.05 has a lot more crap in it, but it still got from-slurpy-flat in it at 32%
21:29 DeadDelta .tell jnthn RE from-slurpy-flat I tried with 2017.06 and 2017.05 builds, it's there in both at around 32%-38%
21:29 yoleaux DeadDelta: I'll pass your message to jnthn.
21:30 DeadDelta Thank you, robot! You are most kind.
21:37 timotimo DeadDelta: do you think it'd be useful for Proc::Q to also give a channel that tells you when procs have been started?
21:38 DeadDelta What for?
21:38 DeadDelta I kinda thought of it you put in a bunch of data you need to process with procs and you pull it out when ready. You never deal with the procs directly
21:41 * DeadDelta leaves to finish off Part II of Seqs article
21:41 DeadDelta left #perl6-dev
21:47 timotimo okay so
21:47 timotimo the crashing when profiler runs, right?
21:47 MasterDuke you've fixed it?!
21:47 timotimo run_alt is being invoked with a last argument that comes from the register loc_3_obj
21:47 timotimo but nothing in the whole frame writes to that
21:49 timotimo aha, indeed, it's also nowhere to be found in the spesh output
21:51 DeadDelta joined #perl6-dev
21:59 timotimo i wish i was able to fix it already
21:59 timotimo i might want to have more debugging helpers in place to see what spesh is thinking
22:03 FROGGS joined #perl6-dev
22:15 awwaiid joined #perl6-dev
22:43 Geth ¦ rakudo/nom: 9a2127f2b5 | (Timo Paulssen)++ | src/core/Nil.pm
22:43 Geth ¦ rakudo/nom: give nil methods a much more efficient "take any args" signature
22:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a2127f2b5
22:43 timotimo ^- here's the fix for from-slurpy-flat
22:45 DeadDelta ROFL
22:46 DeadDelta timotimo++ nice one :D
22:48 cog_ joined #perl6-dev
23:01 DeadDelta damn. Note to self: when writing an article don't run code samples on your 32-bit box that don't got jit :/
23:02 DeadDelta A ~1000-word section just went from "it's a 30% gain but with these easy codes we make it 2.5x fastar!" just became "we made stuff 10% faster and with this bunch of code we make it 50% faster" :(
23:12 timotimo ;(
23:16 DeadDelta ?
23:16 DeadDelta That face looks angry :D
23:20 DeadDelta ZofBot: what kind of face you like to make?
23:20 ZofBot DeadDelta, emit" each of the return values of the closure, and then call "
23:20 DeadDelta You're not funny any more. I need to reset your brain.
23:21 timotimo that's more like "damn, that's annoying"
23:21 timotimo the face
23:22 ugexe closure is not doing, only alah is doing
23:22 DeadDelta :)
23:28 timotimo jit is not doing, alah is doing
23:31 [Coke] oh please don't. :|
23:31 [Coke] heyyyy, segfault.
23:32 [Coke] perl6 htmlify.p6 --parallel=10 --sparse=4 segvs.
23:32 [Coke] (doc repo)
23:32 [Coke] golfing...
23:32 BenGoldberg joined #perl6-dev
23:35 timotimo start with the usual, disabling spesh for example
23:37 [Coke] MVM_JIT_DISABLE=1 MVM_SPESH_DISABLE=1 perl6 htmlify.p6 --parallel=10 --sparse=4 # still segvs.
23:38 [Coke] oh, just straight up segfaults with perl6 htmlify.p6, no opts needed.
23:41 timotimo oh, huh
23:43 timotimo how soon does it crash?
23:45 timotimo i'm getting rather far in the one without arguments
23:47 [Coke] crashed immediately.
23:47 [Coke] immediately.
23:47 [Coke] [6~
23:47 timotimo not on my machine
23:47 timotimo This is Rakudo version 2017.06-87-g36823ab built on MoarVM version 2017.06-30-g389e973
23:47 timotimo maybe that's old?
23:49 [Coke] This segfaults for me: use URI::Escape;
23:49 [Coke] use lib 'lib';
23:49 [Coke] use Pod::Htmlify;
23:50 [Coke] I'm on 2017.06-87-g36823ab18
23:50 [Coke] ... same version. huh
23:50 [Coke] I cut down htmlify.p6 to those 3 lines, segv.
23:51 MasterDuke i think there's already a ticket about `use lib 'lib'`
23:52 MasterDuke buggable: lib
23:53 MasterDuke https://rt.perl.org/Ticket/Display.html?id=131510#ticket-history
23:54 [Coke] ugh.
23:54 ugexe [Coke]: a longshot, but try running with `perl6 -I. ...`
23:54 [Coke] DeadDelta: see, this happens whenever I try to hack on docs. :)
23:59 DeadDelta :)

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