Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-04-06

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
04:04 FROGGS__ joined #moarvm
07:49 Ven joined #moarvm
08:37 nwc10 good *, #moarvm
08:41 jnthn o/
08:45 timotimo #moarvm, * good
08:56 Ven joined #moarvm
09:47 Ven joined #moarvm
10:01 Ven joined #moarvm
10:36 FROGGS__ o|)     -->  (·)
11:28 Ven joined #moarvm
11:53 nwc10 jnthn: I baked you another patch, at git@gitlab.com:nwc10/MoarVM.git
11:53 nwc10 1% reduction in startup CPU count
11:54 nwc10 (as "threatened" some weeks back)
12:14 jnthn nwc10: I get permission denied...is there a ro url?
12:15 jnthn (I just did git remote add -f nwc10 [the url])
12:15 nwc10 https://gitlab.com/nwc10/MoarVM.git
12:15 nwc10 I hope
12:17 jnthn yup, I can git fetch nwc10 now :)
12:17 nwc10 excellent
12:18 jnthn Cute patch
12:18 nwc10 I can't find anything else similar that's as easy
12:19 nwc10 I can benchmark it at (seemigly) 1% less time to run "Hello world" but I don't trust benchmarks that are under 5% :-/
12:21 dalek MoarVM: af7753e | nicholas++ | src/6model/serialization.c:
12:21 dalek MoarVM: Inline assert_can_read(), which is called 7,133,540 times for perl6-m -e 1
12:21 dalek MoarVM:
12:21 dalek MoarVM: assert_can_read() is a very small function, but 15th highest by Ir count in
12:21 dalek MoarVM: callgrind's output for perl6-m -e 1. Hence the overhead of making the function
12:21 dalek MoarVM: call is likely to be similar in size to the function's body.
12:21 dalek MoarVM:
12:21 dalek MoarVM: cachegrind reports that inlining it reduces I refs from 515,809,288 to
12:21 dalek MoarVM: 509,668,666, ie a 1% reduction in CPU instructions needed to run perl6-m -e 1
12:21 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/af7753e7bf
12:22 jnthn nwc10: Measuring instructions retired in pretty reliable, though, at least :)
13:15 dalek MoarVM: c33c704 | (Jimmy Zhuo)++ | src/6model/reprs/P6opaque.c:
13:15 dalek MoarVM: removed an repeated function
13:15 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c33c704813
13:28 dalek MoarVM: 364432d | (Jimmy Zhuo)++ | src/6model/reprs/P6opaque. (2 files):
13:28 dalek MoarVM: Inline some small functions
13:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/364432d52f
13:58 avar joined #moarvm
13:58 ChanServ joined #moarvm
13:58 timotimo joined #moarvm
13:58 BinGOs joined #moarvm
13:58 jnthn joined #moarvm
13:58 oetiker joined #moarvm
13:58 moritz joined #moarvm
13:58 retupmoca joined #moarvm
13:58 sivoais joined #moarvm
13:58 tadzik joined #moarvm
13:58 arnsholt joined #moarvm
13:58 leedo joined #moarvm
13:58 nwc10 joined #moarvm
13:58 Peter__R joined #moarvm
13:58 masak joined #moarvm
13:58 Util joined #moarvm
13:58 [Coke] joined #moarvm
13:58 TimToady joined #moarvm
13:58 JimmyZ joined #moarvm
13:58 psch joined #moarvm
13:58 rudi_s joined #moarvm
13:58 flussence joined #moarvm
13:58 danaj joined #moarvm
13:58 hoelzro joined #moarvm
13:58 ingy joined #moarvm
13:58 camelia joined #moarvm
13:58 vendethiel joined #moarvm
13:58 btyler joined #moarvm
13:58 xiaomiao joined #moarvm
13:58 FROGGS joined #moarvm
13:58 harrow joined #moarvm
13:58 colomon joined #moarvm
13:58 dalek joined #moarvm
13:58 betterworld joined #moarvm
13:58 Ven joined #moarvm
13:58 ShimmerFairy joined #moarvm
14:28 Ven joined #moarvm
14:43 pyrimidine joined #moarvm
14:58 rurban_ joined #moarvm
15:32 Ven joined #moarvm
15:36 ggoebel joined #moarvm
15:59 Ven joined #moarvm
17:23 psch m: say "m\x0308"
17:23 camelia rakudo-moar 4c1f57: OUTPUT«m̈␤»
17:23 psch eh
17:24 psch i'm not used to tab 4 not being camelia :P
17:49 Ven joined #moarvm
17:51 dalek MoarVM: bbf73a1 | FROGGS++ | src/core/nativecall.c:
17:51 dalek MoarVM: decont arg in not 'is rw' param slot
17:51 dalek MoarVM:
17:51 dalek MoarVM: This shall unbreak Inline::Perl5. nine++ for reporting it.
17:51 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bbf73a13d6
18:22 arnsholt Has anyone considered running afl-fuzz on Moar?
18:24 jnthn It's been mentioned here before, but nobody had les tuits to make it happen yet.
18:25 arnsholt Who's discussed it? I have a desktop machine at work that's standing mostly idle. Figured it might be worthwhile to use a core for fuzzing Moar
18:25 arnsholt But might be useful to discuss it a bit with someone before just blindly setting of in some direction
18:28 jnthn I can't remember, 'fraid
18:28 jnthn I think if you search the irclogs for this channel you may dig something up
18:28 arnsholt Yeah. I'll grep the clogs
18:28 arnsholt Thanks!
18:28 FROGGS m: my uint8 $a = 200; say $a # is autoboxing to blame? because P6int->get_int is called with bits=64 and unsigned=0 only...
18:28 camelia rakudo-moar c314f4: OUTPUT«-56␤»
18:29 jnthn I know I saw afl before, and I'm pretty sure it was on this channel :)
18:29 ggoebel joined #moarvm
18:29 * FROGGS would like to know where autoboxing happens
18:29 jnthn FROGGS: We totally ignore the u there at present
18:29 FROGGS jnthn: well, P6int->compose gets it and it gets serialized... but it gets lost later on
18:30 jnthn Yeah, but on lexicals I meant.
18:30 FROGGS is that something I could fix?
18:30 jnthn But the answer is likely that QSAT to MAST should be emitting a box_u not a box_i
18:31 FROGGS aha
18:31 jnthn I can probably delegate implementation of that stuff to you, but I need to ponder on design a little more.
18:31 FROGGS k
18:31 jnthn The Moar opset already has a bunch of _u though
18:32 jnthn We just ain't doing anything with 'em yet.
18:32 * FROGGS nods
18:32 jnthn I also dunno how we're gonna handle this stuff on JVM :S
18:33 FROGGS "differently" :o)
18:37 nwc10 jnthn: I baked you another patch at https://gitlab.com/nwc10/MoarVM
18:37 nwc10 only 0.5% less CPU this time
18:41 jnthn Thanks :)
18:42 arnsholt I think on JVM you need to do the interpretation of unsigneds on your own
18:42 arnsholt But IIRC the VM spec mandates that integer types are stored twos complement, so there's no ambiguity there
18:42 jnthn masak: I'm inclined to reject RT#124226. That's stretching "syntactically" incredibly far.
18:43 jnthn masak: We also don't keep enough information around to do it realistically cross-compilation unit and I'm not sure we should.
18:44 jnthn masak: Finally, we do our static analysis on lexical things, not on method calls. We'd have to factor in the meta-object's behavior too, which we don't really know.
18:45 jnthn uh, shoulda been on #perl6...d'oh
18:45 zakharyas joined #moarvm
18:45 dalek MoarVM: f37765f | nicholas++ | src/6model/reprs/MVMHash.c:
18:45 dalek MoarVM: Inline extract_key(), which is called 57306153 times by at_key() and bind_key()
18:45 dalek MoarVM:
18:45 dalek MoarVM: at_key() and bind_key() are 2nd and 3rd highest by Ir count in callgrind's
18:45 dalek MoarVM: output for perl6-m -e 1. Both call extract_key(), which is a simple wrapper
18:45 dalek MoarVM: around the macro MVM_HASH_EXTRACT_KEY(). Making the function inline reduces
18:46 dalek MoarVM: the CPU instructions needed to run perl-m -e 1 by about 0.5%
18:46 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f37765f86c
18:50 nwc10 at this rate, (obviously) I just need to find about infinity more things and we'll be another 0.5% faster
19:05 dalek MoarVM: 0acf845 | FROGGS++ | src/strings/utf8.c:
19:05 dalek MoarVM: fix throwing ex when utf8 string is invalid, fixes RT #124185
19:05 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/0acf845fcb
19:12 japhb nwc10: As you have only two entries in the sequence, there's not enough evidence to assume exponentially decreasing returns, as opposed to (say) a normal distribution around .75%.  :-)
19:13 japhb I suppose that we could assume the distribution is bounded by 100% (because causality) and 0% (because you wouldn't apply a known pessimization)
20:12 arnsholt Heh. The afl-fuzz Makefile is funny: "NOTE: If you can read this, your terminal probably uses white background. This will make the UI hard to read. See docs/status_screen.txt for advice."
20:12 FROGGS hehe
20:12 japhb Nice
20:13 japhb I once tried to write a colored-output script to autodetect whether the terminal had a light background or dark one and compensate, and I discovered that this seemingly easy thing is essentially completely brain-dead and non-portable.
20:14 arnsholt Yeah. The afl docs just go "use white-on-black or turn colours off entirely"
21:41 kjs_ joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary