Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-11-24

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

All times shown according to UTC.

Time Nick Message
00:44 dalek MoarVM: f10000f | timotimo++ | src/jit/ (2 files):
00:44 dalek MoarVM: getstderr is used in NFA's optimize and mergesubrule
00:44 dalek MoarVM:
00:44 dalek MoarVM: when you have a module that add lots of operators,
00:44 dalek MoarVM: this can give a noticable speed-up.
00:44 dalek MoarVM:
00:44 dalek MoarVM: the NFA situation wants an algorithmic improvement
00:44 dalek MoarVM: instead, though.
00:44 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f10000f7e6
00:46 timotimo ooooh so many 0s in the commit ID
00:47 diakopter___ timotimo: did you stumble upon a bitcoin magic hash value?
00:47 timotimo hah
00:47 timotimo i don't think i can make any money off of that at all
01:38 tokuhiro_ joined #moarvm
02:25 FROGGS_ joined #moarvm
02:59 dalek MoarVM: 986b20e | hoelzro++ | src/core/callsite. (2 files):
02:59 dalek MoarVM: Add function for seeing if a Callsite is "common"
02:59 dalek MoarVM:
02:59 dalek MoarVM: A "common" callsite is one that is defined entirely in static memory,
02:59 dalek MoarVM: and thus may never be MVM_free()'d.  We need to know this when we
02:59 dalek MoarVM: start cleaning up after callsites
02:59 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/986b20e952
02:59 dalek MoarVM: bd537a1 | hoelzro++ | src/core/callsite. (2 files):
02:59 dalek MoarVM: Add a function for cleaning up after a callsite
02:59 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bd537a1e6d
02:59 dalek MoarVM: bac9d59 | hoelzro++ | src/6model/reprs/MVMCompUnit.c:
03:00 dalek MoarVM: Clean up callsites in comp unit objects
03:00 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bac9d59d26
03:00 dalek MoarVM: 2004013 | hoelzro++ | src/moar.c:
03:13 tokuhiro_ joined #moarvm
04:57 vendethiel joined #moarvm
05:43 diakopter hoelzro: oh, I just saw you didn't use the is_common check yet
05:44 hoelzro I thought I did? in interpreter destruction?
05:44 * hoelzro checks
05:45 hoelzro ah, here we are: https://github.com/MoarVM/MoarVM/commit/2004013eb092b8e1575cf579e7133d4fec1a67c0
05:45 hoelzro I think dalek forgot to report that commit here =)
05:48 diakopter ah yeah, there it is
06:02 hoelzro thanks for giving my code a look over!
06:03 * hoelzro goes off to bed
06:03 diakopter heh it's bedtime here
06:04 diakopter on the west side of US
06:21 dalek MoarVM/cache_sc_idx: 83b3ae3 | brrt++ | src/core/frame.c:
06:21 dalek MoarVM/cache_sc_idx: Dynvar lookup check if we're using the JIT code
06:21 dalek MoarVM/cache_sc_idx:
06:21 dalek MoarVM/cache_sc_idx: For some reason, we sometimes 'drop out' the jitcode, into the
06:21 dalek MoarVM/cache_sc_idx: spesh code, and I can't really find out why. But checking
06:22 dalek joined #moarvm
06:57 nwc10 good *, dalek
07:07 FROGGS joined #moarvm
07:09 domidumont joined #moarvm
07:15 domidumont joined #moarvm
07:38 diakopter lolz
08:06 jnthn moarning, #moarvm
08:06 konobi morning
08:11 nwc10 jnthn: so, if noms aren't curry, what are noms?
08:12 jnthn Pizza last night, though not home-made in any sense. Was feeling tired/lazy. :)
08:13 diakopter jnthn: if I suspected the method cache wasn't being as cacheful as it could be, how might I investigate that
08:13 jnthn I think it'll be a cheese curry tonight. :)
08:13 jnthn diakopter: --profile and see where we land in a find_method method
08:15 nwc10 it's when you get to "lemon curry" that I start worrying that you're defecting
08:17 jnthn lemon curry? o.O
08:17 diakopter jnthn: well, I'm not seeing it at all in the XCode Instruments thing, so I guess it's not even close to a hotspot
08:17 jnthn Cheese curry is something I never thought I'd be that into (meat FTW!), until I made one and was like...mmmm... :)
08:18 jnthn diakopter: You won't really, a method cache miss results in a high level method call
08:21 diakopter ok so, disregarding that suspicion, next thingie is 10.1% of time spent in MVM_frame_invoke, with 6% of time spent *exclusively* in it.. I'll burrow into that for a while
08:23 konobi diakopter: Instruments is dtrace based... so you could always use a custom dtrace script to get better info
08:23 konobi diakopter: infact... a flame graph would probably be quite interesting
08:24 diakopter konobi: cool, thanks. I don't know of the scope of possibilities
08:24 diakopter hrm
08:25 konobi diakopter: http://www.brendangregg.com/flamegraphs.html
08:26 konobi at the bottom of the page, there's lots of specific examples on use
08:27 konobi http://www.perkin.org.uk/posts/reducing-ram-usage-in-pkgin.html is a useful one
08:28 konobi jnthn: so yeah... that kinda thing.
08:32 konobi also thankfully, there's info there on how to do similar under linux
08:34 zakharyas joined #moarvm
08:42 zakharyas joined #moarvm
09:18 kjs_ joined #moarvm
09:20 arnsholt jnthn: Cheese curry being something like paneer tikka masala?
09:24 jnthn arnsholt: Paneer jalfrezi in this case. I totally should do paneer tikka masala at some point but...it's a bit more effort. :)
09:25 arnsholt Yeah, it is. Paneer makhani is pretty good as well (you'll see it as butter paneer too)
09:25 arnsholt Same gravy as chicken makhani/butter chicken, but paneer instead of chicken obviously
09:38 Ven joined #moarvm
09:39 zakharyas joined #moarvm
09:52 zakharyas joined #moarvm
09:58 konobi jnthn: oh yes... how does the build/setup.pm work?
09:59 konobi specifically the block where each platform has the whole posix, win32, gcc, etc.
10:01 jnthn konobi: I thought that was largely just data?
10:02 jnthn I don't really know, though. I leave worrying about build infrastructure to people who're better than me at worrying about such problems.
10:03 jnthn I think everything I wrote on configure/build stuff got replaced. :)
10:07 nwc10 IIRC Pm had some thoughts on how to do it better, but Pm seems to have been abducted by Real Life (TM) :-(
10:07 jnthn Aye
10:07 jnthn :-(
10:07 nwc10 It does need imrpoving. But it would benefit from being done by someone who has some understanding of how to do it well (enough) on Win32 and POSIX
10:08 nwc10 and also with an idea on how to reduce the duplication between NQP and Rakudo's build tools
10:08 jnthn Build/configure stuff is one of the few areas where I explicitly say "no, I'm not caring about it, it's somebody elses problem" :)
10:08 konobi k... there's an issue there with the "Solaris" thing... but I couldn't work out what the fix would be
10:09 kjs_ joined #moarvm
10:09 jnthn As far as I understand it, compiler and toolchain can be selected independently.
10:13 konobi yeah, but for Solaris, the CFLAGS are hardcoded, even if gcc is detected
10:14 konobi k... created issue #306 for 2 build issues
10:15 konobi the 2nd part might be of more interest
10:16 konobi though jit specific
10:21 konobi k... added logs of the build issues
10:24 jnthn Thanks
10:37 zakharyas joined #moarvm
12:00 timotimo diakopter: when i perf'd a random moarvm process, the biggest portion of samples were counted in the atomic counting operations for the ref counts
12:01 timotimo perhaps there's a little win to be had when there's only one thread?
12:02 zakharyas1 joined #moarvm
12:37 brrt joined #moarvm
13:01 Ven joined #moarvm
14:28 dalek joined #moarvm
14:45 kjs_ joined #moarvm
15:08 diakopter timotimo: how much time was spent in there
15:09 kjs_ joined #moarvm
15:10 diakopter timotimo: yes, it's worth considering adding a single global atomic read of the "single thread mode" thingie that can bypass the rest of the multithread evasive maneuvers
15:16 Ven_ joined #moarvm
15:17 diakopter timotimo: ohh you mean frame refcounts.. yes, those could also have a single-thread fastpath until the instance denigrates to userthreads mode
15:30 diakopter .oO( s/denigrates/desecrates/ ?)
15:42 Ven_ joined #moarvm
15:52 tokuhiro_ joined #moarvm
16:03 zakharyas joined #moarvm
16:11 japhb_ degenerates
16:55 hoelzro o/ #moarvm
17:08 japhb o/ hoelzro
17:08 hoelzro o/ japhb
17:36 kjs_ joined #moarvm
17:36 vendethiel joined #moarvm
17:44 hoelzro there's no env variable to imply --full-cleanup, is there? if not, is anyone opposed to it being added?
18:23 kjs_ joined #moarvm
18:26 jnthn hoelzro: No, I'm fine with it being added, just added it to --help also
18:38 zakharyas joined #moarvm
18:56 domidumont joined #moarvm
19:40 zakharyas joined #moarvm
19:42 jnthn m: my $timer = Supply.interval(0.1); $timer.tap(-> $_ { die 'uh-oh' }); sleep 2;
19:42 camelia rakudo-moar : ( no output )
19:44 hoelzro jnthn: *nod*
19:49 hoelzro speaking of full cleanup, don't be *too* alarmed if you get a use-after-free ASAN failure if you use full-cleanup; I did that late last night, and will address it after work today
19:49 hoelzro apologies for breaking Moar =(
19:50 jnthn Thankfully, full cleanup is not the default :)
19:53 hoelzro =)
20:20 kjs_ joined #moarvm
20:29 zakharyas joined #moarvm
21:09 kjs_ joined #moarvm
21:10 diakopter___ joined #moarvm
21:16 kjs_ joined #moarvm
21:19 kjs_ joined #moarvm
21:21 leont joined #moarvm
23:24 vendethiel joined #moarvm

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