Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2016-01-28

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

All times shown according to UTC.

Time Nick Message
00:44 timotimo i wanted to look something up. lo and behold: github goes down a minute before that
00:47 geekosaur yep
00:47 * geekosaur too as it turns out
00:47 geekosaur https://status.github.com/ first graph kinda tells you all you need to know
00:47 timotimo yeah
00:47 timotimo it went "boop"
01:14 vendethiel joined #moarvm
01:27 diakopter so... there's a reason the deserialize code is so slow.. it's not making use of the cached scid slot
01:28 diakopter trying to fix all the small mallocs I think isn't the right direction to diagnose
05:36 vendethiel joined #moarvm
06:21 vendethiel joined #moarvm
06:50 vendethiel joined #moarvm
07:14 vendethiel joined #moarvm
07:22 domidumont joined #moarvm
07:23 domidumont joined #moarvm
07:28 domidumont joined #moarvm
08:00 vendethiel joined #moarvm
08:03 FROGGS joined #moarvm
08:09 zakharyas joined #moarvm
08:47 brrt joined #moarvm
09:24 leont joined #moarvm
09:36 brrt i've reduced asm fibonacci to 8 instructions :-)
09:37 brrt and a loop of only 5 instructions
09:38 jnthn Can we code-gen that loop from NQP code yet? ;)
09:41 brrt no
09:41 brrt it requires xchg, and i have *no idea* on how to tile that
09:42 brrt which kind of suggests that peephole optimizations may be a better way to go
09:44 brrt https://gist.github.com/bdw/df7231ee485a4cd001ca
09:45 brrt well, except if we made a 'swap' node, but then you'd have to find some way to introduce it
09:45 vendethiel joined #moarvm
09:49 brrt quite possibly during optimization
10:10 timotimo hm. how fast does fibonacci grow beyond the 64 bit range? how fast does it go beyond 32bit?
10:12 brrt i have nooooo idea
10:12 brrt well, i have some idea
10:13 brrt iirc, the ratio of fibonacci numbers trends to 1.69 after a while
10:13 brrt so it would be log(MAX_64_BIT)/log(1.69)
10:13 * brrt hums 'math! *oompf* what is it good for?'
10:14 timotimo heh.
10:16 brrt its 1.61, btw
10:43 brrt` joined #moarvm
11:17 vendethiel joined #moarvm
12:06 vendethiel joined #moarvm
12:32 vendethiel joined #moarvm
13:00 vendethiel joined #moarvm
13:05 timotimo i don't know much about the deserialization code yet; do we have more details about what diakopter pointed out?
13:06 brrt not me
13:09 timotimo i thought the cached scid slot was used when objects first get created and added to an SC
13:09 timotimo but i expect i'm wrong about that belief
14:48 brrt i have no idea myself
15:07 lizmat joined #moarvm
15:11 lizmat joined #moarvm
15:57 cognominal joined #moarvm
15:57 ggoebel15 joined #moarvm
16:01 Hotkeys left #moarvm
16:09 vendethiel joined #moarvm
16:47 vendethiel joined #moarvm
17:15 vendethiel joined #moarvm
17:20 Hotkeys joined #moarvm
17:21 Hotkeys left #moarvm
17:31 domidumont joined #moarvm
17:39 FROGGS joined #moarvm
17:57 leont joined #moarvm
17:57 vendethiel joined #moarvm
18:21 tony-o_ joined #moarvm
18:21 tony-o_ any ideas on this one: https://gist.github.com/tony-o/c082d1057989d8af8d93 ?
18:28 timotimo turn off jit?
18:29 timotimo download more ram? :S
18:30 jnthn tony-o_: Not really...it does look like some kind of "out of memory"
18:30 jnthn Or "can't allocate executable memory" maybe
18:31 tony-o_ timotimo: lol
18:31 jnthn Can check that by MVM_JIT_DISABLE=1 since I think that's the only thing that does it
18:31 timotimo yup
18:31 tony-o_ okay, was afraid of it just being out of mem and not much i can do to remedy that particular problem
18:32 tony-o_ giving jit a try now
18:34 tony-o_ :-( thank you
18:35 timotimo that solves the issue?
18:35 timotimo do you have any kind of security stuff active?
18:39 dalek MoarVM: a030701 | jnthn++ | docs/ChangeLog:
18:39 dalek MoarVM: Update ChangeLog for 2016.01.
18:39 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a0307015b8
18:46 tony-o_ nah it didn't solve the issue but i'm trying to set up a daily build for travis-ci and i'm doing it on an AWS micro server
18:46 tony-o_ so i'm not super worried about it not building, i'm building a vm right now to play around with trying to get that to work
18:47 timotimo oh, a micro server, eh?
18:47 timotimo you do realize how much ram it takes to compile the core setting?
18:47 timotimo we do want to reduce that amount, but ... yeah, it's a bunch.
18:47 tony-o_ i don't but i'm assuming now that it's more than .5Gb :-)
18:48 timotimo i think so, yeah
18:48 timotimo the good thing is:
18:48 timotimo on amazon, you can actually download more ram
18:51 tony-o_ may have to look at that if this test works
18:52 timotimo you can just time the build on your local machine and see its maxrss reported
18:52 timotimo can you create a swapfile on a micro instance? :D
18:55 tony-o_ i can give it a shot, i think if it's one process that needs more ram than is available it will still poop out though
18:55 timotimo could be
18:56 timotimo and the core setting compilation process will definitely do that to you
18:56 timotimo it's by far the biggest part of all of compiling rakudo
19:37 leont joined #moarvm
20:44 lizmat joined #moarvm
21:21 mst 814
21:21 mst bah
21:46 diakopter this code is new to me
21:56 dalek MoarVM: f4485fe | jnthn++ | VERSION:
21:56 dalek MoarVM: Bump VERSION.
21:56 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f4485fe6fd
22:02 jnthn [Coke]: I'm really tight for time (need to sleep soon, morning meeting). I'll cut the release, but don't have time to do portfile stuff
22:02 diakopter jnthn++
22:03 [Coke] jnthn: I'm hoping our new porter maintainer will take that on going forward.
22:11 jnthn ah, ok :)
22:17 ely-se joined #moarvm
22:17 ely-se How does MoarVM implement world stopping during GC cycles?
22:17 ely-se It's hard to figure out from the source code.
22:18 diakopter there are safe points, and plenty of places in the code that tell the GC that thread is at a safe point
22:19 ely-se how are those implemented?
22:19 diakopter so if the GC needs to cycle the areas, it waits for all the threads to reach a safe point
22:19 diakopter almost always there is just one thread, so it doesn't have to wait
22:20 ely-se I see.
22:20 jnthn ely-se: Every GC allocation is such a safepoint; see also GC_SYNC_POINT
22:21 ely-se ah ok :)
22:21 ely-se I grepped "safepoint" and couldn't find much of interest
22:21 ely-se I like the way JVM implements safepoints.
22:23 diakopter which is? :)
22:23 ely-se It avoids expensive atomic operations by accessing memory that is sometimes inaccessible (mprotect(2)), in which case it handles the segfault
22:24 diakopter cute
22:24 jnthn We don't do any atomic operations at the safepoints themselves
22:24 ely-se there is a CAS in GC_SYNC_POINT
22:24 FROGGS joined #moarvm
22:24 jnthn There is?
22:25 jnthn #define GC_SYNC_POINT(tc) \
22:25 jnthn if (tc->gc_status) { \
22:25 jnthn MVM_gc_enter_from_interrupt(tc); \
22:25 jnthn }
22:25 ely-se orchestrate.c line 464
22:25 diakopter yes, the cheap read of gc_status there is meant to fail in the fast path
22:25 jnthn The "do we need to GC" check done at non-allocating safepoints is tc->gc_status
22:25 diakopter fail = read false :D
22:25 jnthn ely-se: That bit isn't about safepoints though, that's about getting the threads to build consensus once we're already at one.
22:26 ely-se ah ok
22:26 jnthn I've little doubt the JVM approach is smarter than what we're doing, though.
22:26 ely-se I should read the comments.
22:26 jnthn At least, they've had about 1,000 times the budget, so they'd better have come up with something smarter :P
22:26 diakopter if for some reason gc_status is out of sync across cores, we don't care if the GC has to wait a bit longer for it to be sync'd
22:27 ely-se but UB!
22:27 ely-se thanks for the help. it's time to sleep. :)
22:27 ely-se bey!
22:28 diakopter jnthn: I think our approach is better XD
22:28 jnthn OK, 2015.01 tagged
22:28 jnthn uhhh
22:28 jnthn 2016.01 tagged
22:28 jnthn (relax, I got the tag right :P)
22:30 jnthn [Coke]: http://www.moarvm.org/releases/MoarVM-2016.01.tar.gz
22:40 jnthn I'll do the website update at the weekend or so :)
22:45 timotimo now that you know so much javascript, i bet you could make links cycle colors of the rainbow
22:45 flussence aaack!
22:48 geekosaur the <marquee> of the 2010s?
22:50 flussence I'd say hamburger menus claim that throne... (literally mystery-meat navigation)
22:59 jnthn Just 'cus you *can* do something doesn't mean you should :P
23:00 jnthn Sleep time...'night all o/
23:00 diakopter o/
23:11 vendethiel joined #moarvm
23:47 vendethiel joined #moarvm

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