dalek | arVM: f10000f | timotimo++ | src/jit/ (2 files): getstderr is used in NFA's optimize and mergesubrule when you have a module that add lots of operators, this can give a noticable speed-up. the NFA situation wants an algorithmic improvement instead, though. |
00:44 | |
timotimo | ooooh so many 0s in the commit ID | 00:46 | |
diakopter___ | timotimo: did you stumble upon a bitcoin magic hash value? | 00:47 | |
timotimo | hah | ||
i don't think i can make any money off of that at all | |||
01:38
tokuhiro_ joined
02:25
FROGGS_ joined
|
|||
dalek | arVM: 986b20e | hoelzro++ | src/core/callsite. (2 files): Add function for seeing if a Callsite is "common" A "common" callsite is one that is defined entirely in static memory, and thus may never be MVM_free()'d. We need to know this when we start cleaning up after callsites |
02:59 | |
arVM: bd537a1 | hoelzro++ | src/core/callsite. (2 files): Add a function for cleaning up after a callsite |
|||
arVM: bac9d59 | hoelzro++ | src/6model/reprs/MVMCompUnit.c: Clean up callsites in comp unit objects |
|||
MoarVM: 2004013 | hoelzro++ | src/moar.c: | |||
03:13
tokuhiro_ joined
04:57
vendethiel joined
|
|||
diakopter | hoelzro: oh, I just saw you didn't use the is_common check yet | 05:43 | |
hoelzro | I thought I did? in interpreter destruction? | 05:44 | |
hoelzro checks | |||
ah, here we are: github.com/MoarVM/MoarVM/commit/20...4fec1a67c0 | 05:45 | ||
I think dalek forgot to report that commit here =) | |||
diakopter | ah yeah, there it is | 05:48 | |
hoelzro | thanks for giving my code a look over! | 06:02 | |
hoelzro goes off to bed | 06:03 | ||
diakopter | heh it's bedtime here | ||
on the west side of US | 06:04 | ||
dalek | MoarVM/cache_sc_idx: 83b3ae3 | brrt++ | src/core/frame.c: | 06:21 | |
MoarVM/cache_sc_idx: Dynvar lookup check if we're using the JIT code | |||
MoarVM/cache_sc_idx: | |||
MoarVM/cache_sc_idx: For some reason, we sometimes 'drop out' the jitcode, into the | |||
MoarVM/cache_sc_idx: spesh code, and I can't really find out why. But checking | |||
06:22
dalek joined
|
|||
nwc10 | good *, dalek | 06:57 | |
07:07
FROGGS joined
07:09
domidumont joined
07:15
domidumont joined
|
|||
diakopter | lolz | 07:38 | |
jnthn | moarning, #moarvm | 08:06 | |
konobi | morning | ||
nwc10 | jnthn: so, if noms aren't curry, what are noms? | 08:11 | |
jnthn | Pizza last night, though not home-made in any sense. Was feeling tired/lazy. :) | 08:12 | |
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. :) | ||
diakopter: --profile and see where we land in a find_method method | |||
nwc10 | it's when you get to "lemon curry" that I start worrying that you're defecting | 08:15 | |
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 | ||
jnthn | Cheese curry is something I never thought I'd be that into (meat FTW!), until I made one and was like...mmmm... :) | ||
diakopter: You won't really, a method cache miss results in a high level method call | 08:18 | ||
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:21 | |
konobi | diakopter: Instruments is dtrace based... so you could always use a custom dtrace script to get better info | 08:23 | |
diakopter: infact... a flame graph would probably be quite interesting | |||
diakopter | konobi: cool, thanks. I don't know of the scope of possibilities | 08:24 | |
hrm | |||
konobi | diakopter: www.brendangregg.com/flamegraphs.html | 08:25 | |
at the bottom of the page, there's lots of specific examples on use | 08:26 | ||
www.perkin.org.uk/posts/reducing-ra...pkgin.html is a useful one | 08:27 | ||
jnthn: so yeah... that kinda thing. | 08:28 | ||
also thankfully, there's info there on how to do similar under linux | 08:32 | ||
08:34
zakharyas joined
08:42
zakharyas joined
09:18
kjs_ joined
|
|||
arnsholt | jnthn: Cheese curry being something like paneer tikka masala? | 09:20 | |
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:24 | |
arnsholt | Yeah, it is. Paneer makhani is pretty good as well (you'll see it as butter paneer too) | 09:25 | |
Same gravy as chicken makhani/butter chicken, but paneer instead of chicken obviously | |||
09:38
Ven joined
09:39
zakharyas joined
09:52
zakharyas joined
|
|||
konobi | jnthn: oh yes... how does the build/setup.pm work? | 09:58 | |
specifically the block where each platform has the whole posix, win32, gcc, etc. | 09:59 | ||
jnthn | konobi: I thought that was largely just data? | 10:01 | |
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:02 | ||
I think everything I wrote on configure/build stuff got replaced. :) | 10:03 | ||
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 | ||
:-( | |||
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 | ||
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" :) | ||
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
|
|||
jnthn | As far as I understand it, compiler and toolchain can be selected independently. | 10:09 | |
konobi | yeah, but for Solaris, the CFLAGS are hardcoded, even if gcc is detected | 10:13 | |
k... created issue #306 for 2 build issues | 10:14 | ||
the 2nd part might be of more interest | 10:15 | ||
though jit specific | 10:16 | ||
k... added logs of the build issues | 10:21 | ||
jnthn | Thanks | 10:24 | |
10:37
zakharyas joined
|
|||
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:00 | |
perhaps there's a little win to be had when there's only one thread? | 12:01 | ||
12:02
zakharyas1 joined
12:37
brrt joined
13:01
Ven joined
14:28
dalek joined
14:45
kjs_ joined
|
|||
diakopter | timotimo: how much time was spent in there | 15:08 | |
15:09
kjs_ joined
|
|||
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:10 | |
15:16
Ven_ joined
|
|||
diakopter | timotimo: ohh you mean frame refcounts.. yes, those could also have a single-thread fastpath until the instance denigrates to userthreads mode | 15:17 | |
.oO( s/denigrates/desecrates/ ?) |
15:30 | ||
15:42
Ven_ joined
15:52
tokuhiro_ joined
16:03
zakharyas joined
|
|||
japhb_ | degenerates | 16:11 | |
hoelzro | o/ #moarvm | 16:55 | |
japhb | o/ hoelzro | 17:08 | |
hoelzro | o/ japhb | ||
17:36
kjs_ joined,
vendethiel joined
|
|||
hoelzro | there's no env variable to imply --full-cleanup, is there? if not, is anyone opposed to it being added? | 17:44 | |
18:23
kjs_ joined
|
|||
jnthn | hoelzro: No, I'm fine with it being added, just added it to --help also | 18:26 | |
18:38
zakharyas joined
18:56
domidumont joined
19:40
zakharyas joined
|
|||
jnthn | m: my $timer = Supply.interval(0.1); $timer.tap(-> $_ { die 'uh-oh' }); sleep 2; | 19:42 | |
camelia | ( no output ) | ||
hoelzro | jnthn: *nod* | 19:44 | |
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 | ||
apologies for breaking Moar =( | |||
jnthn | Thankfully, full cleanup is not the default :) | 19:50 | |
hoelzro | =) | 19:53 | |
20:20
kjs_ joined
20:29
zakharyas joined
21:09
kjs_ joined
21:10
diakopter___ joined
21:16
kjs_ joined
21:19
kjs_ joined
21:21
leont joined
23:24
vendethiel joined
|