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