Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-11-10

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

All times shown according to UTC.

Time Nick Message
00:01 pyrimidine joined #perl6-dev
00:21 pyrimidine joined #perl6-dev
00:21 seatek joined #perl6-dev
01:10 pyrimidi_ joined #perl6-dev
01:11 MasterDuke anybody have an idea how/why i get "Cannot find method 'orig' on object of type NQPMu" right after this line ( https://github.com/perl6/nqp/blob/master/src/vm/moar/QAST/QASTCompilerMAST.nqp#L1404 ) if i add 'my str $target := ~$node.orig()' right after it?
01:15 timotimo easy, $node is NQPMu, i.e. our NQP's way of saying "mu"
01:15 timotimo i.e. $node wasn't set
01:15 timotimo oh wait
01:15 timotimo after that line?
01:16 MasterDuke yeah!
01:16 timotimo what is this madness?
01:16 MasterDuke "if nqp::isconcrete($node) && nqp::can($node,'orig') { my str $target := ~Snode.orig(); ... "
01:16 MasterDuke boom! error
01:18 MasterDuke blows my mind, i don't even know how to debug
01:18 timotimo did you try ~($node.orig()) just to make sure it's not doing the precedence the other way around?
01:19 MasterDuke yep, also just "my $target := $node.orig()", same thing
01:20 timotimo *weird*. try turning off spesh maybe?
01:20 timotimo MVM_SPESH_DISABLE=yesplease
01:21 MasterDuke same
01:25 timotimo that's a relief
01:25 timotimo can i have a closer look at the whole thing?
01:25 timotimo is it really just that single line changing?
01:27 MasterDuke there are other lines changing, and they are the problem, even though it's pointing there
01:27 MasterDuke i backed out to just that line added and it was fine
01:27 timotimo ah, hm.
01:27 MasterDuke let me gist the diff
01:28 MasterDuke https://gist.github.com/MasterDuke17/8bf6eb8c1d205426fe0acd1d5042ce79
01:29 MasterDuke no idea why those other lines would cause that error
01:30 timotimo +                my str $target := ~Snode.orig();
01:30 timotimo dude
01:30 timotimo i thought you just made a typo in irc
01:30 timotimo nqp has this quirk where if you write something that doesn't exist like MichaelMcDoestExist, you get NQPMu as the value
01:30 timotimo so: problem solved
01:31 MasterDuke !!!! that's what i get for being on my laptop i guess
01:31 timotimo i'm sorry it took 20 minutes to find this :|
01:31 MasterDuke man, thanks, i never would have seen that
01:32 MasterDuke (and about 30min before posting of messing around thinking i had just gone insane)
01:32 timotimo at one point i suggested making things that don't exist blow up instead of just silently giving NQPMu
01:32 timotimo i just didn't program it :(
01:33 timotimo i'll go to bed soon. have a good one! :)
01:33 MasterDuke likewise
01:34 MasterDuke oh, hopefully quick question, does nqp have any regex capability?
01:44 japhb MasterDuke: The grammar engine is written in NQP, so yes.  :-)
01:46 MasterDuke japhb: you know, that makes perfect sense, but for some reason i don't think i've seen a line of nqp with a regex in it
01:48 timotimo the thing is, regex has a very high overhead for startup
01:49 timotimo so we tend to use specialized ops for stuff if we can get around regex
01:49 viki TWEAKED
01:50 viki timotimo: what about it?
01:50 viki I don't get what you mean about it... where would it be used and what would it do?
01:51 timotimo no clue
01:51 timotimo it was just a random thinked
01:51 viki :)
02:18 pyrimidine joined #perl6-dev
02:36 MasterDuke Attempt to divide 1 by zero using div in method floor at src/core/Rational.pm line 53
02:37 MasterDuke that's not using the @?SOURCE_LINES method i implemented before
02:38 pyrimidine joined #perl6-dev
02:38 MasterDuke but instead just making changes to compile_all_the_stmts() in src/vm/moar/QAST/QASTCompilerMAST.nqp
02:48 ilbot3 joined #perl6-dev
02:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:06 pyrimidine joined #perl6-dev
03:14 pyrimidine joined #perl6-dev
03:31 pyrimidine joined #perl6-dev
03:45 pyrimidine joined #perl6-dev
04:02 pyrimidine joined #perl6-dev
04:06 geekosaur joined #perl6-dev
05:44 pyrimidine joined #perl6-dev
05:54 pyrimidine joined #perl6-dev
06:04 pyrimidine joined #perl6-dev
06:14 pyrimidine joined #perl6-dev
06:24 AlexDaniel joined #perl6-dev
06:24 pyrimidine joined #perl6-dev
06:34 pyrimidine joined #perl6-dev
06:40 pyrimidine joined #perl6-dev
06:50 RabidGravy joined #perl6-dev
06:50 pyrimidine joined #perl6-dev
07:56 pyrimidine joined #perl6-dev
08:04 pyrimidine joined #perl6-dev
08:18 pyrimidine joined #perl6-dev
08:25 pyrimidine joined #perl6-dev
08:31 b2gills joined #perl6-dev
08:34 pyrimidine joined #perl6-dev
08:35 AlexDaniel joined #perl6-dev
08:43 lizmat Files=1152, Tests=53724, 218 wallclock secs (12.81 usr  3.67 sys + 1317.90 cusr 123.74 csys = 1458.12 CPU)
08:54 pyrimidine joined #perl6-dev
09:09 pyrimidine joined #perl6-dev
09:21 dalek rakudo/nom: 97fb6c2 | lizmat++ | src/core/Rakudo/Internals.pm:
09:21 dalek rakudo/nom: Make starting a MappyIterator faster
09:21 dalek rakudo/nom:
09:21 dalek rakudo/nom: This affects all Hash/Map/Bag iterator methods, such as .keys, .values,
09:21 dalek rakudo/nom: .pairs, etc.  Iterating over a 2 element hash was made 1.6x faster
09:21 dalek rakudo/nom: because of this.  YMMV for larger hashes.
09:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/97fb6c2596
09:21 dalek rakudo/nom: 87595f4 | lizmat++ | src/core/Rakudo/Internals.pm:
09:21 dalek rakudo/nom: Simplify because we can
09:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/87595f4962
09:21 lizmat and good *, #perl6-dev!   :-)
09:22 masak good antenoon, lizmat!
09:22 DrForr o/
09:34 pyrimidine joined #perl6-dev
09:35 lizmat afk&
09:41 pyrimidine joined #perl6-dev
09:50 pyrimidine joined #perl6-dev
10:02 vendethiel- joined #perl6-dev
10:05 pyrimidi_ joined #perl6-dev
10:14 pyrimidine joined #perl6-dev
10:23 tadzik joined #perl6-dev
10:25 ilmari[m] joined #perl6-dev
10:27 pyrimidi_ joined #perl6-dev
10:50 pyrimidine joined #perl6-dev
11:42 brrt` joined #perl6-dev
12:08 ggoebel joined #perl6-dev
12:24 dalek rakudo/nom: 077c8f0 | lizmat++ | src/core/Any-iterable-methods.pm:
12:24 dalek rakudo/nom: Make starting a Grepper faster
12:24 dalek rakudo/nom:
12:24 dalek rakudo/nom: This affects all .grep without adverbs.  Gives about a 20% improvement
12:24 dalek rakudo/nom: on grepping a 2 element list.
12:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/077c8f01f4
12:24 timotimo *nice*
12:30 lizmat yeah, especially since it's a patch consisting of removing 1 char, and replacing 1 char
12:31 timotimo it'd be ideal if we could make the optimization for private method calls work again and undo these commits and gain an even bigger improvement on top of what you just got by turning it into non-private :)
12:33 timotimo "\list,Mu \test"; my pun-filled brain wants to read "litmus test" here
12:34 lizmat well, jnthn yesterday said something of just poking a role into the class instead of cloning it
12:35 lizmat but, that doesn't give me enough guidance to approach it from that end
12:35 timotimo i think it was more about explicitly setting the SC on the method when it is encountered
12:35 pyrimidine joined #perl6-dev
12:35 timotimo rather than waiting for it to be put into the SC when it figures out it needs to be in there at the far end of compilation
12:35 timotimo so basically immediately setobjsc on the thing, i guess?
12:35 lizmat well, that's equally above my payrate  :-)
12:36 * lizmat has images of herself with a lot of dancing brooms
12:36 jnthn Going for lunch, but: $W.add_object($priv-meth) or so
12:36 jnthn Replacing $W with however you get the world in Optimizer.nqp
12:36 timotimo i need to take a bit of rest, and my current top priority ought to be getting a multi-threaded allocator for our fixed size stuff, so that we don't bottleneck on allocating frames when multiple threads try to do invocations at the same time
12:37 * jnthn bbiab
12:44 pyrimidine joined #perl6-dev
12:54 pyrimidine joined #perl6-dev
12:56 brrt timotimo: silly question maybe, but I thought FSA was threadcontext-bound
12:56 brrt isn't it?
12:56 brrt probably not otherwise you wouldn't mention it...
13:03 pyrimidine joined #perl6-dev
13:13 pyrimidine joined #perl6-dev
13:15 japhb joined #perl6-dev
13:20 dalek roast: 0521cc2 | cpin++ | S32-list/deepmap.t:
13:20 dalek roast: Add initial tests for deepmap (#161) (#181)
13:20 dalek roast: review: https://github.com/perl6/roast/commit/0521cc2f4a
13:21 pyrimidine joined #perl6-dev
13:30 dalek rakudo/nom: 9c5b7ba | cpin++ | t/spectest.data:
13:30 dalek rakudo/nom: Add S32-list/deepmap.t to spectest.data
13:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c5b7ba36b
13:30 dalek rakudo/nom: 03a2897 | (Zoffix Znet)++ | t/spectest.data:
13:30 dalek rakudo/nom: Merge pull request #916 from cpin/161-deepmap
13:30 dalek rakudo/nom:
13:30 dalek rakudo/nom: Add S32-list/deepmap.t to spectest.data
13:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/03a28973e7
13:33 pyrimidine joined #perl6-dev
13:43 pyrimidine joined #perl6-dev
13:49 AlexDaniel joined #perl6-dev
13:53 pyrimidine joined #perl6-dev
14:01 viki This time there was definitely no bunches. A single commit ignored by dalek: https://github.com/perl6/roast/commit/8dbf4c52e2f14a6fd907bdbc0fbd033680c2bb5a
14:02 dalek joined #perl6-dev
14:02 * viki tries the good ol' "have you tried turning it off and on" solution
14:22 dalek roast: dc78f3a | (Zoffix Znet)++ | S07-iterators/range-iterator.t:
14:22 dalek roast: Test Iterator.skip-at-least
14:22 dalek roast: review: https://github.com/perl6/roast/commit/dc78f3a212
14:28 dalek roast: b03dd14 | (Zoffix Znet)++ | S07-iterators/range-iterator.t:
14:28 dalek roast: Test Iterator.skip-at-least-pull-one
14:28 dalek roast: review: https://github.com/perl6/roast/commit/b03dd14a81
14:45 pyrimidine joined #perl6-dev
14:45 dalek rakudo/nom: 0e7f480 | lizmat++ | src/core/Date (3 files):
14:45 dalek rakudo/nom: Make Date/DateTime creation 20% faster
14:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0e7f480aba
14:52 lizmat afk&
14:52 pyrimidine joined #perl6-dev
15:02 viki .oO( we need a bot that reports what NQP/MoarVM version bumps bring )
15:03 viki To help logging stuff like this in ChangeLog easier :) https://github.com/rakudo/rakudo/commit/627a77eb226f7fe3ec551e1c004bdd832102b9a9
15:08 pyrimidine joined #perl6-dev
15:09 timotimo brrt: it actually always goes through tc->instance->fsa
15:17 jnthn viki: MoarVM also has a ChangeLog for its stuff, fwiw :)
15:18 viki Well, it's currently empty for 2016.11 :)
15:18 viki GitHub's compare features show the commits tho: https://github.com/MoarVM/MoarVM/compare/196361f...a4c0a84
15:18 viki (that the version bump brought in)
15:19 jnthn Yeah, it's populated at each release, by git log --oneline --reverse output that I massage a bit :)
15:22 brrt timotimo: aha
15:22 brrt and you want to make it multithreaded how?
15:22 timotimo by implementing the things Hoard has
15:59 dalek rakudo/nom: 01856db | (Zoffix Znet)++ | docs/ChangeLog:
15:59 dalek rakudo/nom: Log all changes to date
15:59 dalek rakudo/nom:
15:59 dalek rakudo/nom: Documents commits:
15:59 dalek rakudo/nom: 006f008 0134132 050cf72 05b65d0 077c8f0 07eeea8 0b97362 0cf7b36 0e7f480 0f2566a 1293188
15:59 dalek rakudo/nom: 1794328 1b95636 1bb5aad 1c425f9 1fce095 200364a 208a4c2 2827edb 2dd0ddb 33eeb32 34e515d
15:59 dalek rakudo/nom: 364e67b 3b9c4c9 3fdae43 41e2572 43cb55f 43dbc96 44a4c75 48c2af6 49fd825 4f3681b 4fc17df
15:59 dalek rakudo/nom: 55b9e90 576f3a1 5ac593e 5b2bdeb 5fe8cf7 608de26 627a77e 66726e8 697a0ae 6ccecb1 6dc5074
15:59 dalek rakudo/nom: 70a367d 71a01e9 729d7e3 736ab11 74d0e36 764cfcd 79bb867 7a2baf4 7a456ff 7ba7eb4 8064ff1
15:59 dalek rakudo/nom: 82432a4 87880ca 87bba04 8d357af 8e9fd0a 906719c 9409d68 97fb6c2 9f94525 a1d8e93 a7e801f
15:59 dalek rakudo/nom: a822bcf aaec517 aedb8e7 b1c41b7 b4dfed2 b4fe680 b7201a8 b7d9537 b7e632e b90c741 ba152bd
15:59 dalek rakudo/nom: bc7fcc6 bf51eca c9a24d9 ce85ba3 d27ecfa d3a0907 d92e1ad e10f767 e3e3fef e42b68e e472420
15:59 viki https://github.com/rakudo/rakudo/commit/01856db5256ad07253ab778da893eb53255b5f3f
15:59 * viki is trying somethign new
16:00 viki ChangeLog entries include short commit sha. Wanna see code changes? Wanna know more about the change? Look up the sha and read diff/commit message
16:00 timotimo do those hashes contain hashes from non-rakudo?
16:00 viki No, these are all Rakudo
16:01 viki Some of them point to a nqp version bump that brought in nqp/MoarVM fixes
16:01 timotimo OK
16:02 viki Also, lizmat++ we have a huge number of things in "Efficiency" section for this release.
16:03 timotimo \o/
16:03 timotimo indeed
16:04 timotimo jnthn: were you actually saying instead of bailing out when there's no SC, we just stick it into the current world?
16:07 * timotimo compiles a rakudo with that
16:07 jnthn timotimo: yeah
16:08 timotimo Object of type Method in QAST::WVal, but not in SC  -  $*W.add_object doesn't seem to be enough, strangely
16:08 timotimo oh!
16:08 timotimo got the if the wrong way around :)
16:13 timotimo i'm measuring speeds now
16:13 timotimo well, compiling with a previous speed-up reverted
16:16 timotimo huh. so i'm iterating over a two-element hash now ... and reverting the private-into-public method change makes it noticably slower
16:19 timotimo the addition or removal of $*W.add_object there makes no difference to performance when there's a private method call there
16:40 FROGGS joined #perl6-dev
16:59 committable6 joined #perl6-dev
17:00 pyrimidine joined #perl6-dev
17:03 committable6 joined #perl6-dev
17:06 pyrimidine joined #perl6-dev
17:14 [TuxCM] joined #perl6-dev
17:58 japhb joined #perl6-dev
18:28 japhb joined #perl6-dev
18:40 japhb star: use LWP::Simple; my @recent = LWP::Simple.get('http://tux.nl/Talks/CSV6/speed.log').lines[(*-30)..Inf].map(*.words[*-1]); my ($min, $max) = @recent.min, @recent.max; my $range = max($max - $min, .1 * $min, .25); my @bar = (^8 + 0x2581)>>.chr; my $spark = @recent.map({ @bar[(($_ - $min) / $range * (@bar - 1)).round] }).join; say $spark;
18:40 camelia star-m 2016.04: OUTPUT«▄▆▃▃▇▃█▄▄▅▃▃▃▃▄▄▅▅▄▅▃▃▃▄▂▄▄▁▁▂␤»
18:41 japhb star: use LWP::Simple; my @recent = LWP::Simple.get('http://tux.nl/Talks/CSV6/speed.log').lines[(*-30)..Inf].map(*.words[*-1]); my ($min, $max) = @recent.min, @recent.max; my $range = max($max - $min, .1 * $min, .25); my @bar = (^8 + 0x2581)>>.chr; my $spark = @recent.map({ @bar[(($_ - $min) / $range * (@bar - 1)).round] }).join; say $spark ~ " $min\.\.{$min + $range}";
18:41 camelia star-m 2016.04: OUTPUT«▄▆▃▃▇▃█▄▄▅▃▃▃▃▄▄▅▅▄▅▃▃▃▄▂▄▄▁▁▂ 6.510..7.686␤»
18:41 japhb star: use LWP::Simple; my @recent = LWP::Simple.get('http://tux.nl/Talks/CSV6/speed.log').lines[(*-30)..Inf].map(*.words[*-1]); my ($min, $max) = @recent.min, @recent.max; my $range = max($max - $min, .1 * $min, .25); my @bar = (^8 + 0x2581)>>.chr; my $spark = @recent.map({ @bar[(($_ - $min) / $range * (@bar - 1)).round] }).join; print $spark ~ " $min .. {$min + $range}";
18:41 camelia star-m 2016.04: OUTPUT«▄▆▃▃▇▃█▄▄▅▃▃▃▃▄▄▅▅▄▅▃▃▃▄▂▄▄▁▁▂ 6.510 .. 7.686»
19:15 tadzik :D:D
19:15 tadzik this is marvelous
19:17 moritz japhb++
19:52 viki m: say "Bench will run at {-0.018989*24 + 14.18445}s in January 2018"
19:52 camelia rakudo-moar 01856d: OUTPUT«Bench will run at 13.728714s in January 2018␤»
19:52 viki hm
19:55 viki m: say "Bench will run at {14.8767**(-.00195329*24)}s in January 2018"
19:55 camelia rakudo-moar 01856d: OUTPUT«Bench will run at 0.881118073842747s in January 2018␤»
19:55 timotimo i hope we reach that earlier :P
19:56 viki oh, nevermind, my data is flawed :P
19:56 viki "There are lies, damned lies, and statistics"
19:57 pyrimidine joined #perl6-dev
20:10 cognominal wiki, you forgot polls :)
20:10 viki *sigh* I don't understand this Microsoft Math... "y = 3E+48e^(-0.003x)" where ^() part means the inside stuff is superscript
20:10 viki wtf is E and e... is that E as an exponent and e is natural e?
20:10 viki Microsoft--
20:14 viki oh, apparently that *is* what it is... because their software counts `x` with dates to be months from... Jesus times I guess.
20:17 viki m: say Date.today.day-of-year
20:17 camelia rakudo-moar 01856d: OUTPUT«315␤»
20:18 viki I guess it's my fault for expecting it to DWIM with dates :)
20:20 viki Well, according to chart estimates using whatever values it uses for dates, in 1 year, we'll reduce the bench time to about 2.8s
20:21 lizmat viki: that would be nice  :-)
20:23 viki purty chart: https://twitter.com/zoffix/status/796810512986238978
20:26 pyrimidi_ joined #perl6-dev
20:27 dalek rakudo/nom: 9c4b516 | lizmat++ | src/core/ (2 files):
20:27 dalek rakudo/nom: Rename ShapeIterator -> ShapeLeafIterator
20:27 dalek rakudo/nom:
20:27 dalek rakudo/nom: This describes more what it does, and makes it easier to understand
20:27 dalek rakudo/nom: what the ShapeBranchIterator is.
20:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c4b516a0f
20:41 seatek joined #perl6-dev
20:53 pyrimidine joined #perl6-dev
21:03 pyrimidine joined #perl6-dev
21:13 pyrimidine joined #perl6-dev
21:34 pyrimidine joined #perl6-dev
21:35 [TuxCM] joined #perl6-dev
21:37 dalek rakudo/nom: c7c5444 | lizmat++ | src/core/Rakudo/Internals.pm:
21:37 dalek rakudo/nom: We don't actually need to init a list_i to 0
21:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c7c5444da7
21:38 pyrimidi_ joined #perl6-dev
21:42 vendethiel joined #perl6-dev
21:49 pyrimidine joined #perl6-dev
21:50 dalek rakudo/nom: d989d96 | lizmat++ | src/core/Rakudo/Internals.pm:
21:50 dalek rakudo/nom: Size is really the same as $!indices' size
21:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d989d96f19
22:02 pyrimidine joined #perl6-dev
22:29 pyrimidine joined #perl6-dev
22:34 lizmat good night, #perl6-dev!
23:08 pyrimidine joined #perl6-dev

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