Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
01:19 statisfiable6 joined #perl6-dev
01:19 benchable6 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
03:06 eater joined #perl6-dev
06:09 lizmat llfourn: fwiw, I *have* Inline::Perl5 installed, but didn't notice: I guess it assumed Inline::Perl5 was simply not installed
06:09 lizmat Files=1217, Tests=67446, 227 wallclock secs (13.65 usr  4.81 sys + 1386.70 cusr 139.25 csys = 1544.41 CPU)
06:38 lizmat joined #perl6-dev
06:52 [Tux] This is Rakudo version 2017.07-77-g5d89cef9f built on MoarVM version 2017.07-15-g0729f841
06:52 [Tux] csv-ip5xs        2.581
06:52 [Tux] test            12.294
06:52 [Tux] test-t           4.088 - 4.108
06:52 [Tux] csv-parser      11.806
07:18 Geth ¦ rakudo: cono++ created pull request #1123: Add myself to CREDITS
07:18 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1123
07:19 TimToady joined #perl6-dev
07:19 Geth ¦ rakudo/nom: 59e5564629 | cono++ | CREDITS
07:19 Geth ¦ rakudo/nom: Add myself to CREDITS
07:19 Geth ¦ rakudo/nom:
07:19 Geth ¦ rakudo/nom: 07:12 <+yoleaux> 12 Jun 2017 19:38Z <eveo> cono: you should add yourself
07:19 Geth ¦ rakudo/nom: to CREDITS file: https://github.com/rakudo/rakudo/blob/nom/CREDITS
07:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/59e5564629
07:19 Geth ¦ rakudo/nom: 99375e4aad | niner++ (committed using GitHub Web editor) | CREDITS
07:19 Geth ¦ rakudo/nom: Merge pull request #1123 from cono/nom
07:19 Geth ¦ rakudo/nom:
07:19 Geth ¦ rakudo/nom: Add myself to CREDITS
07:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/99375e4aad
07:23 Geth ¦ rakudo/nom: 1a74a8c345 | (Samantha McVey)++ | src/core/array_slice.pm
07:23 Geth ¦ rakudo/nom: Improve error for [ ] called with a type object
07:23 Geth ¦ rakudo/nom:
07:23 Geth ¦ rakudo/nom: Previous error was difficult to understand, and doesn't use the
07:23 Geth ¦ rakudo/nom: same terminology we use for other error messages.
07:23 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1a74a8c345
07:51 astj_ joined #perl6-dev
07:51 astj joined #perl6-dev
07:54 AlexDani` joined #perl6-dev
08:01 AlexDani` joined #perl6-dev
08:06 pharv_ joined #perl6-dev
08:09 lizmat .ask jnthn any thoughts on the performance difference between "1".match(/1/) and 1.match(/1/) ?  ( easily seen in a for ^10000)
08:09 yoleaux lizmat: I'll pass your message to jnthn.
08:18 lizmat the latter being 7x slower
08:37 lizmat meeting&
08:53 jnthn 7x is odd; I'd expect it to have to coerce to Str which would cost something
08:54 travis-ci joined #perl6-dev
08:54 travis-ci Rakudo build failed. Samantha McVey 'Improve error for [ ] called with a type object
08:54 travis-ci https://travis-ci.org/rakudo/rakudo/builds/258037213 https://github.com/rakudo/rakudo/compare/99375e4aad23...1a74a8c3458a
08:54 travis-ci left #perl6-dev
08:55 buggable [travis build above] ? Did not recognize some failures. Check results manually.
09:11 Geth ¦ nqp/async-await-continuations: 8e5e3376d2 | pmurias++ | 3 files
09:11 Geth ¦ nqp/async-await-continuations: [js] Tweak code emitting
09:11 Geth ¦ nqp/async-await-continuations:
09:11 Geth ¦ nqp/async-await-continuations: With async/await disabled we should get the same code that we had before it was added.
09:11 Geth ¦ nqp/async-await-continuations: review: https://github.com/perl6/nqp/commit/8e5e3376d2
10:34 astj joined #perl6-dev
10:38 astj joined #perl6-dev
10:45 astj joined #perl6-dev
11:06 astj joined #perl6-dev
11:16 astj joined #perl6-dev
11:52 astj joined #perl6-dev
12:34 Geth ¦ perl6-lwp-simple: Tickles-BV++ created pull request #19: Fix put requests and add unit test for it.
12:34 Geth ¦ perl6-lwp-simple: review: https://github.com/perl6/perl6-lwp-simple/pull/19
12:37 astj joined #perl6-dev
12:52 pmurias joined #perl6-dev
13:09 mr_ron joined #perl6-dev
13:10 astj joined #perl6-dev
13:10 astj_ joined #perl6-dev
13:15 mr_ron .ask jnthn (or samcv) WRT RT #131774 - jnthn mentions on IRC that repeated string concatenation is O(n ** 2) because strings are immutable.  But we have ropes/(strands) as a possible underling representation.  Node JS (V8 engine) seems to use ropes to get around the problem.  Might that fix it for us at some point?  https://irclog.perlgeek.de/perl6/2015-12-15#i_11720228 https://rt.perl.org/Ticket/
13:15 yoleaux 21 Jul 2017 02:02Z <MasterDuke> mr_ron: i've found heaptrack (https://github.com/KDE/heaptrack) very useful for collecting and visualizing memory metrics
13:15 yoleaux mr_ron: I'll pass your message to jnthn.
13:15 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131774
13:15 mr_ron Display.html?id=131774
13:24 Geth ¦ perl6-lwp-simple: 4cfe68dfbb | (Tickles BV)++ | lib/LWP/Simple.pm
13:24 Geth ¦ perl6-lwp-simple: Bugfix: Updated put request method to use 'RequestType::PUT' instead of 'RequestType::Delete' so request_shell uses the right method.
13:24 Geth ¦ perl6-lwp-simple: review: https://github.com/perl6/perl6-lwp-simple/commit/4cfe68dfbb
13:24 Geth ¦ perl6-lwp-simple: 05a5477003 | (Tickles BV)++ | t/put-request.t
13:24 Geth ¦ perl6-lwp-simple: Enhancement: Added put request unit test. This uses httpbin.org for testing and is based on the get and post requests that do the same.
13:24 Geth ¦ perl6-lwp-simple: review: https://github.com/perl6/perl6-lwp-simple/commit/05a5477003
13:24 Geth ¦ perl6-lwp-simple: 75d58b4bf2 | (Zoffix Znet)++ (committed using GitHub Web editor) | 2 files
13:24 Geth ¦ perl6-lwp-simple: Merge pull request #19 from Tickles-BV/master
13:24 Geth ¦ perl6-lwp-simple:
13:24 Geth ¦ perl6-lwp-simple: Fix put requests and add unit test for it.
13:24 Geth ¦ perl6-lwp-simple: review: https://github.com/perl6/perl6-lwp-simple/commit/75d58b4bf2
13:25 Geth ¦ perl6-lwp-simple: bae9ddcae9 | (Zoffix Znet)++ | 2 files
13:25 Geth ¦ perl6-lwp-simple: Bump version
13:25 Geth ¦ perl6-lwp-simple: review: https://github.com/perl6/perl6-lwp-simple/commit/bae9ddcae9
13:26 jnthn Strands are basically a restricted form of ropes where you just have a single level, and there's an upper bound on how long the stand array can get before it collapses them
13:26 yoleaux 13:15Z <mr_ron> jnthn: (or samcv) WRT RT #131774 - jnthn mentions on IRC that repeated string concatenation is O(n ** 2) because strings are immutable.  But we have ropes/(strands) as a possible underling representation.  Node JS (V8 engine) seems to use ropes to get around the problem.  Might that fix it for us at some point?  https://irclog.perlgeek.de/perl6/2015-12-15#i_11720228 https://rt.perl.org/Ticket/
13:26 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131774
13:26 jnthn They avoid copying when making substrings, and avoid or delay the work needing doing with concatenation.
13:28 mr_ron Wouldn't delaying the work needed for concatenation allow for better than O(n ** 2) in RT #131774 and the IRC example from llfourn?
13:28 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131774
13:29 jnthn The No
13:29 jnthn *No
13:29 jnthn It just lowers the constant factor
13:29 jnthn However
13:29 mr_ron It appears to work for Node JS ...
13:29 jnthn If you were to do a scheme like
13:30 jnthn Once the first strand's length is greatly more than the sum of the rest, then leave it alone and collapse the rest into a second strand
13:31 jnthn Then it'd probably avoid a good amount of the copying
13:31 AlexDani` joined #perl6-dev
13:31 jnthn Maybe Node.js actually have ropes for real?
13:31 mr_ron https://gist.github.com/ronaldxs/10f3794b7fccde9a1914c5cde72c5e8e
13:32 jnthn Also we could cheat pretty hard at this benchmark and do no copying at all
13:32 jnthn And just bump the repetition count
13:32 jnthn Which would be great for an artificial benchmark
13:32 jnthn But about useless for the real world :P
13:34 jnthn As for the memory use growth, I suspect that's just a lack of GC pressure being applied
13:34 mr_ron If it is ok - I will write up what I learned including this discussion on the ticket and we can go from there.  Java seems to gone around this problem with StringBuffer/StringBuilder classes and Python 2.7 cheated by making strings mutable for concat when the reference count was 1.
13:35 jnthn For Perl 6, just make an array and join it is the best bet really
13:35 mr_ron thanks
13:35 jnthn We can do various tricks (and I'm sure we will) to make concat faster, I'm sure.
13:36 jnthn 'cus people will write code like that anyway
13:36 pmurias aren't strands supposed to make the concat faster but just for smaller numbers of things?
13:37 jnthn pmurias: Well, they make it faster in general than just doing all of the copies would be.
13:53 mr_ron while this discussion is ongoing - are native str also immutable as claimed in S02 and if so why would they be so much faster?
13:54 jnthn They are indeed immutable
13:54 jnthn Faster because they don't have box/unbox overhead
13:55 jnthn Str is a P6opague that points to a str
13:55 jnthn *opaque
13:58 mr_ron m: for (150_000, 300_000) -> $limit {my str $x; my str $y = "x" x 100; $x ~= $y for (1..$limit); say "$limit: ", now - ENTER now}
13:58 camelia rakudo-moar 1a74a8: OUTPUT: «150000: 0.14992304?300000: 0.26772330?»
13:58 mr_ron m: for (25_000, 50_000) -> $limit {my Str $x; my str $y = "x" x 100; $x ~= $y for (1..$limit); say "$limit: ", now - ENTER now}
13:58 camelia rakudo-moar 1a74a8: OUTPUT: «25000: 0.0428633?50000: 0.05416075?»
13:58 mr_ron m: for (25_000, 50_000) -> $limit {my Str $x; my Str $y = "x" x 100; $x ~= $y for (1..$limit); say "$limit: ", now - ENTER now}
13:59 camelia rakudo-moar 1a74a8: OUTPUT: «25000: 0.93613433?50000: 3.6073818?»
14:00 mr_ron m: for (300_000, 900_000) -> $limit {my str $x; my str $y = "x" x 100; $x ~= $y for (1..$limit); say "$limit: ", now - ENTER now}
14:00 camelia rakudo-moar 1a74a8: OUTPUT: «300000: 0.29287224?900000: 0.94590595?»
14:00 mr_ron native str looks O(n)
14:01 jnthn Maybe it is somehow hitting the "just increase the repetition count" case
14:03 jnthn But I dunno why the boxed case would not
14:03 mr_ron I'll throw that on the ticket in the next few days.  thanks ...
14:03 jnthn I wonder if there's a difference in whether the "x" x 100 gets constant folded or not?
14:10 mr_ron You mentioned that memory growth might be lack of GC pressure.  If I ulimit -v 3072000 I het MoarVM panic: memory allocation failed ...  Don't know if that is what you meant ...
14:12 jnthn Just meant that the GC isn't being told there's objects with large internal buffers being created, so it should run more often
14:13 mr_ron thank you
14:37 lucasb joined #perl6-dev
15:03 timotimo https://github.com/MoarVM/MoarVM/commit/bb7e757265dccc4c5d51da4443bb656d54f7b9fd  -  mr_ron
15:42 Geth ¦ nqp: 39f1133065 | (Jonathan Worthington)++ | tools/build/MOAR_REVISION
15:42 Geth ¦ nqp: Bump MOAR_REVISION.
15:42 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/39f1133065
15:42 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.07-15-g0729f841...2017.07-243-g6941cad
15:52 lizmat joined #perl6-dev
15:56 lizmat .
15:56 mr_ron If I try to build rakudobrew build moar-blead it fails with failure like:
15:56 mr_ron src/vm/moar/ops/perl6_ops.c: In function ‘p6finddispatcher’:
15:56 mr_ron src/vm/moar/ops/perl6_ops.c:590:38: error: ‘MVMFrame’ has no member named ‘special_return’
15:58 lizmat jnthn: the 7x slower is probably because: a. the method lookup isn't getting cached, and find_best_dispatchee is called over and over again
15:58 lizmat and b. Str.splice has *many* candidates
16:02 Geth ¦ rakudo/nom: 4561c2696c | (Jonathan Worthington)++ | 2 files
16:02 Geth ¦ rakudo/nom: Follow MoarVM frame changes.
16:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4561c2696c
16:02 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.07-12-g3e8089404...2017.07-13-g39f1133
16:02 Geth ¦ rakudo/nom: 48ce47e6fa | (Jonathan Worthington)++ | 2 files
16:02 Geth ¦ rakudo/nom: Merge branch 'moar-frame-extras' into nom
16:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48ce47e6fa
16:02 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.07-12-g3e8089404...2017.07-13-g39f1133
16:02 Geth ¦ rakudo/nom: 9658dd98c9 | (Jonathan Worthington)++ | tools/build/NQP_REVISION
16:02 Geth ¦ rakudo/nom: Bump to get latest MoarVM.
16:02 Geth ¦ rakudo/nom:
16:02 Geth ¦ rakudo/nom: This brings in some major changes to MoarVM. Of note:
16:02 Geth ¦ rakudo/nom:
16:02 Geth ¦ rakudo/nom: * Specialization and JIT compilation now take place on a background
16:02 Geth ¦ rakudo/nom:   thread. The entire way data is collected and analyzed has been
16:02 Geth ¦ rakudo/nom:   changed. Also, it plays less fast and loose with aliasing. The
16:02 Geth ¦ rakudo/nom: <…commit message has 29 more lines…>
16:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9658dd98c9
16:02 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.07-12-g3e8089404...2017.07-13-g39f1133
16:03 * jnthn heartily recommends reading that commit message
16:03 * lizmat does, pulls, builds and runs a spectest
16:05 jnthn No regressions here, and for the first time probably ever spectest actually passes with MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 (or at least, did a day or so ago).
16:05 lizmat jnthn++  # excellent reading
16:05 jnthn Those two flags btw are the spesh "stress test"
16:05 jnthn For those working on rakudo/nqp, MVM_SPESH_BLOCKING=1 is the new flag to know about
16:06 jnthn It forces threads to wait after they have submitted spesh log data for the specializer to do its thing
16:06 jnthn Effectively giving you back synchronous working
16:06 jnthn Which is much better when bug hunting
16:07 lizmat jnthn: fwiw, test-t is a bit slower now
16:07 jnthn Remind what test-t is again?
16:07 jnthn *me
16:08 lizmat the Text::CSV test of tuc
16:08 lizmat tux
16:08 lizmat our canary  :-)
16:08 jnthn Oh, right :)
16:08 Zoffix huggable: csv
16:08 huggable Zoffix, https://github.com/Tux/CSV (see `bench csv` for how to run bench)
16:08 Zoffix huggable: bench csv
16:08 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
16:08 jnthn I was like, what does that makefile target do :P
16:08 jnthn Yeah, as noted, there will be some things that lose out in the immediate aftermath of this merge
16:09 jnthn But if I held back merging until I thought I'd nailed them all then (a) this big set of changes would get less testing prior to release, and (b) I'd probably not know about some of the cases that need most attention
16:11 lizmat yeah, understandable...  :-)
16:13 lizmat jnthn: also, looks like the spectest became quite a bit slower as well
16:14 lizmat just fyi for you and everybody else :)
16:14 jnthn Yeah, that I see also; it seems notably the biggest sufferer. I do wonder if it's that the optimal number of tests to run at once may have shifted
16:14 jnthn (Due to each MoarVM instances now having a second thread)
16:15 lizmat ah so maybe I need to play with TEST_JOBS=
16:15 lizmat hmmm
16:16 jnthn Yeah; I didn't have chance to do that yet
16:16 lizmat normally I run with =8, now with =7
16:16 * jnthn had 16
16:20 |Tux| This is Rakudo version 2017.07-83-g9658dd98c built on MoarVM version 2017.07-243-g6941cada
16:20 |Tux| csv-ip5xs        2.537
16:20 |Tux| test            12.478
16:20 |Tux| test-t           4.381 - 4.488
16:20 |Tux| csv-parser      13.341
16:20 |Tux| (just to verify)
16:21 |Tux| Error encoding UTF-8 string: could not encode codepoint 1870264 (0x1C89B8), codepoint out of bounds. Cannot encode higher than 1114111 (0x10FFFF)
16:21 |Tux| (the utf8-c8 test)
16:21 jnthn oh heck, not again :/
16:21 |Tux| not again, still
16:21 |Tux| sorry
16:21 jnthn Yes, I mean I'm darn tired of having to fix utf8-c8 and wish I'd never created it by now :P
16:22 |Tux| remove it
16:22 jnthn Well, too late really :(
16:22 jnthn If we want rid of it, we have to stop making all paths, command line arguments, environment varaibles, etc. Str
16:22 lizmat 288 -> 267 wallclock (for TEST_JOBS=8 -> 7)
16:22 jnthn And that'll be...inconvenient
16:23 |Tux| I have not seriously created the implementation of CSV using utf8-c8 yet, because it is still broken, so I won't be upset
16:23 jnthn I'd suggest making it an option when you do fwiw
16:23 jnthn Though probably that was your plan :)
16:24 jnthn Oh, did you have an outstanding issue on wanting to control if newline translation happens also?
16:24 |Tux| I wanted to have it automagically work, but I'll discuss with lizmat (much) later
16:24 |Tux| yes, no hurry either
16:24 jnthn Well, on that one I did all the hard work already to let it happen :-)
16:25 |Tux| :)
16:25 jnthn It just needs explosing as an option to open
16:25 jnthn *exposing
16:25 |Tux| jnthn++
16:25 * |Tux| needs to commute now
16:25 lizmat jnthn: also bare startup seems to have lost a few milliseconds as well
16:26 jnthn lizmat: That one surprises me a tad in that in theory we're doing less spesh work on the main thread at startup :)
16:26 lizmat well, atm on my machine it is consistely above 130 msecs
16:27 lizmat it used to be consistently below it (only just)
16:27 lizmat ok, forget what I said
16:27 lizmat must have been something else in the background
16:27 lizmat 122 msecs now
16:33 jnthn Yeah, I don't even see any spesh stuff in the callgrind output for it really (above the threshold it sets)
16:34 jnthn There are lots of juicy things to look into with startup though :)
16:43 Zoffix Don't see much slowdown in stresstest, but now 4 files flopped at the same time :/ https://gist.github.com/zoffixznet/a1d0e5207a1400e50de3a1ee28c04ebc
16:47 Zoffix All clean on second run tho
16:47 Zoffix ZOFVM: Files=1267, Tests=144423, 128 wallclock secs (20.46 usr  3.71 sys + 2547.62 cusr 219.25 csys = 2791.04 CPU)
16:52 lizmat dinner&
17:03 AlexDani` joined #perl6-dev
17:35 committable6 joined #perl6-dev
17:35 bisectable6 joined #perl6-dev
17:35 greppable6 joined #perl6-dev
17:35 evalable6 joined #perl6-dev
17:35 coverable6 joined #perl6-dev
17:35 unicodable6 joined #perl6-dev
17:35 benchable6 joined #perl6-dev
17:35 statisfiable6 joined #perl6-dev
17:47 AlexDaniel “MoarVM panic: Internal error: invalid thread ID 858866954 in GC work pass” … ok that's new
17:49 timotimo that'd be memory corruption
17:49 timotimo made sure to rebuild your rakudo?
17:49 timotimo oh, it'd explode more violently if you hadn't
17:49 AlexDaniel it happened randomly during whateverable tests
17:50 AlexDaniel … the first time I ran one of the files
17:50 timotimo ah frick, the -pedantic warning messages again
17:51 AlexDaniel well, we'll see how it goes, but so far not a good sign :)
17:55 * Zoffix disables renewal on perl6.fail
17:56 Zoffix "Update auto-renewal settings: Temporarily not available"
17:56 Zoffix booo
17:56 timotimo huh
17:56 Zoffix gonna be fail.rakudo.party once I set it up.
17:56 timotimo will ah
17:57 Zoffix Cleaning up my fancy domains now that the cheap first year pricing is gone :)
17:58 AlexDaniel yea, this MoarVM panic is definitely happening
18:01 timotimo right, they do get incredibly expensive after the first year
18:01 timotimo i hope the majority of people dump their domains after the first year
18:10 stmuk clang 4 seems pretty fast
18:37 AlexDaniel .tell MasterDuke I'm going to take a nap now, but… bots are broken :) Feel free to investigate: https://github.com/perl6/whateverable/issues/24#issuecomment-318444466
18:37 yoleaux AlexDaniel: I'll pass your message to MasterDuke.
18:38 AlexDaniel .tell MasterDuke well, not completely broken, but a chance of getting MoarVM panic when you do something is really high.
18:38 yoleaux AlexDaniel: I'll pass your message to MasterDuke.
19:00 dogbert2 joined #perl6-dev
19:01 dogbert2 joined #perl6-dev
20:05 Zoffix Thinking Proc::Async.start could use a .finish alias (or something like that). .start reads really confusing when using react/whenever https://www.reddit.com/r/perl/comments/6pwqcy/how_do_i_interact_with_a_shell_program_using_perl/dkt2j1s/
20:05 Zoffix or .finishes
20:05 Zoffix .ends
20:07 Zoffix $p.start ... await $p.finish
20:07 Zoffix wont need to mess with variables as a bonus
20:07 timotimo do we have anything like .run?
20:07 timotimo well, we do have "run"
20:08 jnthn Zoffix: .start is consistently used for that in a few places
20:08 jnthn Promise.start for example
20:09 jnthn But yeah, with whenever it does read a tad odd
20:09 jnthn otoh
20:09 jnthn I've written `whenever start { blah } { ... }` some times before and never been so bothered by it
20:09 Zoffix jnthn: sure, I'm suggesting a near-alias. something that .starts unless already started and returns the .start's promise at all times
20:10 jnthn Could always just do my $exit = $proc.start; whenever $exit { } :)
20:10 Zoffix heh
20:13 * Zoffix takes own advice against adding things :)
20:14 jnthn Yeah, I'm a tad uncomfortable about an alias just to make things read better in one (admittedly somewhat common) case
20:14 jnthn Though I think the very nature of asynchronous programming is that you start stuff and react whenever it happens
20:15 jnthn It just has...another reading that could be a bit misleading I guess
20:15 Zoffix :)
20:16 jnthn .oO( This is why I prefer to work on semantics... :P )
20:19 timotimo "okay rakudo, please alert me every time this program is started"
20:48 lizmat m: 1.match(/1/) for ^10000; say now - INIT now
20:48 camelia rakudo-moar 9658dd: OUTPUT: «0.9945535?»
20:48 lizmat m: "1".match(/1/) for ^10000; say now - INIT now
20:48 camelia rakudo-moar 9658dd: OUTPUT: «0.16021462?»
20:48 lizmat m: say 0.9945535 / 016021462
20:48 camelia rakudo-moar 9658dd: OUTPUT: «Potential difficulties:?    Leading 0 has no meaning. If you meant to create an octal number, use '0o' prefix; like, '0o16021462'. If you meant to create a string, please add quotation marks.?    at <tmp>:1?    ------> 3say 0.9945535 / 0160214627…»
20:48 lizmat m: say 0.9945535 / 0.16021462
20:48 camelia rakudo-moar 9658dd: OUTPUT: «6.20763261?»
20:49 lizmat ok, so not 7x slower, only 6 or so
21:22 pharv joined #perl6-dev
21:35 jnthn That's still surprising given it should in theory just be a coercion and re-dispatch
21:38 dct joined #perl6-dev
21:42 jnthn m: 1.Str..match(/1/) for ^10000; say now - INIT now
21:42 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    match used at line 1. Did you mean 'CATCH'???»
21:42 jnthn m: 1.Str.match(/1/) for ^10000; say now - INIT now
21:42 camelia rakudo-moar 9658dd: OUTPUT: «0.15881912?»
21:42 jnthn m: say 1.^mro
21:42 camelia rakudo-moar 9658dd: OUTPUT: «((Int) (Cool) (Any) (Mu))?»
21:43 jnthn m: say 1.^find_method('match').package
21:43 camelia rakudo-moar 9658dd: OUTPUT: «(Cool)?»
21:44 jnthn m: 1.Stringy.match(/1/) for ^10000; say now - INIT now
21:44 camelia rakudo-moar 9658dd: OUTPUT: «0.1616643?»
21:44 jnthn Wow
21:45 jnthn Well, nothing I've energy left to look into today
21:46 jnthn But I've still a Perl 6 tuit support for the coming weeks, so... :)
22:41 bartolin_ joined #perl6-dev
22:41 hoelzro_ joined #perl6-dev
22:41 jnthn_ joined #perl6-dev
22:44 ilbot3 joined #perl6-dev
22: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
22:47 eater joined #perl6-dev
22:48 pochi joined #perl6-dev
23:14 lizmat joined #perl6-dev
23:17 Zoffix jnthn_: it's more than just redispatch, it also messes around with $/ so that Str.match sets the right one
23:17 Zoffix I suspect same perf issue exists with .subst too
23:18 Zoffix and .subst-mutate
23:18 Geth_ ¦ star: 9c2f2b51a9 | (Timo Paulssen)++ | tools/star/Makefile
23:18 Geth_ ¦ star: moarvm.org has https now; always check https certificates
23:18 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/9c2f2b51a9
23:22 Geth_ ¦ star: 9339d23375 | (Timo Paulssen)++ | Configure.pl
23:22 Geth_ ¦ star: make it more obvious Configure.pl directly is A Bad Idea
23:22 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/9339d23375

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