03:16
TimToady joined
06:24
oetiker joined
06:25
rurban_ joined
07:07
FROGGS joined
08:29
brrt joined
|
|||
dalek | arVM/even-moar-jit: 9692830 | brrt++ | src/jit/ (5 files): Move pseudocompiler to it's own file Nice to know, but outlived it's time. |
09:36 | |
brrt | lunch & | 09:39 | |
10:00
brrt joined
10:48
nwc10_ joined
10:49
nwc10 joined,
brrt joined,
FROGGS joined,
rurban_ joined,
oetiker joined,
TimToady joined,
TEttinger joined,
colomon joined,
leedo joined,
itz joined,
harrow joined,
mtj_ joined,
lizmat joined,
japhb joined,
Util joined,
[Coke] joined,
camelia joined,
synbot6 joined,
diakopter joined,
ggoebel joined,
tadzik joined,
dagurval joined,
rudi_s joined,
psch joined,
masak joined,
flussence joined,
sergot joined,
prammer joined,
hoelzro joined,
timotimo joined,
nebuchadnezzar joined,
JimmyZ joined,
dalek joined,
retupmoca joined,
bonsaikitten joined,
sivoais joined,
moritz joined,
jnthn joined,
danaj joined,
arnsholt joined,
btyler_ joined,
BinGOs joined,
nine joined,
ashleyde1 joined,
avar joined,
ChanServ joined
11:05
danaj joined
|
|||
brrt wonders whether we can't build a more reliable chat thing than irc | 12:08 | ||
hmm... i've a bit of an issue with types | 12:14 | ||
jnthn: would it hurt significantly to declare the int sizes *before* we load types.h | 12:17 | ||
it would solve my problem so well | 12:18 | ||
tadzik | brrt: have you see matrix.org? | 12:19 | |
it's quite promising | |||
brrt | i have not | ||
oh, cool | 12:20 | ||
tadzik | a bit lacking on the client side of things, but there's a weechat plugin for it that works | 12:21 | |
jnthn | brrt: Is there any notable downside? | 12:27 | |
brrt | not that i know of | ||
jnthn | brrt: irssi in a screen session = reliable IRC ;) | ||
brrt | hmm yeah | ||
but then i have to badger moritz about an ssh connection :-) | |||
jnthn | I think other people on that channel can give you one also | 12:28 | |
12:28
timo joined
|
|||
jnthn | If declaring the int sizes before the composite types solves you problems, I've no particular objections | 12:28 | |
brrt | :-) | 12:30 | |
then i probably will | |||
although i can get away with not doing it | |||
timotimo | o/ | ||
brrt | oh hai timotimo | 12:31 | |
hoelzro | good morning #moarvm! I tried to build MoarVM on Windows last night, but I got a C1026 error (something about unicode.c being too complex). I'm using VS 2015; is the only solution to go down to VS 2013? | 12:43 | |
jnthn | Yes :/ | 12:44 | |
Or see if there's a patch VS 2015 available | |||
nwc10 | so, VS 2013 is an upgrade from 2015, much like 7 is an upgrade from 8? | ||
what is it with MS? | |||
jnthn | It's decidedly a compiler bug, nothing we're doing wrong. | ||
nwc10 | any iea what it's choking over? A very big switch statement? | ||
jnthn | I think a deeply nested literal | ||
hoelzro | would it make sense to check for VS2015 and warn the user until this is fixed, so they know that they have a solution? | 12:47 | |
13:11
zakharyas joined
|
|||
brrt | yeah, it would | 13:25 | |
#ifdef BORKEN_MSVC #error "Your MSVC is broken. OOPS" #endif | |||
or something like that :-) | |||
weird | 13:32 | ||
dalek | arVM/even-moar-jit: 206b77e | brrt++ | 3rdparty/dynasm: Update to bugfixed dynasm |
13:43 | |
brrt | be back in a bit | 13:50 | |
14:17
brrt joined
15:07
rurban_ joined
|
|||
dalek | arVM/even-moar-jit: ca4db0d | brrt++ | src/ (7 files): Implement a few tiles, for real this time |
15:24 | |
brrt | so... many.. tiles | ||
jnthn | .oO( Es ist Mein Tile - Nein ) |
15:25 | |
brrt | but, we're getting there | 15:28 | |
jnthn | :) | ||
brrt++ # persistence | |||
I think I've finally figured out a reasonable API for the hyper/race stuff. | 15:29 | ||
brrt | \o/ | 15:30 | |
(i've finally figured out a reasonable API for tiles :-)) | 15:31 | ||
japhb | Congrats to both of you. :-) | ||
jnthn | Means I can get the hard stuff involving concurrency control all in one place. | 15:36 | |
And also get chains of maps etc. to process the whole chain on one thread for a particular batch of work | 15:37 | ||
timotimo | \o/ | ||
are some tiles defined as C code directly and some are built from the .tiles file? | 15:38 | ||
brrt | all tiles are defined as c code | 15:52 | |
the tiling state machine is built from the .tiles file | 15:53 | ||
jnthn | Hmm...one condvar or two... | ||
timotimo | oh | 15:54 | |
the tiling state machine is what decides what tiles to apply when | |||
and the tiles themselves are then C code | |||
makes sense | |||
brrt | :-) | 15:55 | |
keeps dasm in its place | 15:56 | ||
JimmyZ | the new JIT looks like promising | ||
timotimo | i must admit i'ven't compiled a moarvm with the new jit yet :| | ||
does it actually kick in for some cases yet? | 15:57 | ||
TimToady | jnthn: will it be easy to do a slow-start, where the batch size increases as we go along? or is that a bad idea for some reason, like speshing? | ||
jnthn | TimToady: It's not immediately a bad idea. | ||
TimToady: I'll probably end up with something along those lines eventually. For now just going to pick default batch size and degree of parallelism. | 15:58 | ||
TimToady: And then when it's working will get clever :) | |||
TimToady | cleverer, I suspect | ||
jnthn | ;) | 15:59 | |
Yeah, well, I figured we want an escape hatch too | |||
So .hyper() is the "try and work out the best thing for me" | |||
But you can do .hyper(:batch(100)) to say "work 100 items at a time" | |||
.hyper(:batch(100), :degree(2)) # work in batches of 100 and over 2 threads | 16:00 | ||
JimmyZ | :batch(10, 20, 30 .. *) ;) | 16:01 | |
jnthn | And for now our clever is limited to method hyper(:$batch = 64, :$degree = 4) { } | ||
JimmyZ: That's probably overkill. | |||
timotimo | you'd only need "10, 20 ... *", too | 16:03 | |
(but 3 dots rather than 2) | |||
TimToady | well, and slow-start would be more like :batch(1, 1, *+* ... *) | 16:08 | |
jnthn | What, fib has a real world use??? Mind = blown! | ||
timotimo | hah | ||
TimToady | well, I doubt that's how TCP does slow-start | 16:09 | |
but you want something that grows at a reasonable rate | |||
timotimo | m: .say for (1, 1, 1, * + 0 * * + *, ... *) | ||
camelia | rakudo-moar 262352: OUTPUT«===SORRY!=== Error while compiling /tmp/JUOx4NwaZMComma found before apparent series operator; please remove comma (or put parens around the ... listop, or use 'fail' instead of ...)at /tmp/JUOx4NwaZM:1------> .say for (1, 1, 1, * + …» | ||
timotimo | m: .say for (1, 1, 1, * + 0 * * + * ... *) | ||
TimToady | why the parens? | ||
timotimo | superstitions | ||
brrt | fib has plenty real world uses! | ||
camelia | rakudo-moar 262352: OUTPUT«(timeout)1112346913192841608812918927740659587212781873274540235896864112664185602720139865584258562612549118391626954239503357894984849112435…» | ||
timotimo | that sequence seems cute | 16:10 | |
brrt | ehm, something something about huffman coding dictionairy sizes | ||
timotimo: no, doesn't compile things yet. working on that :-) | |||
we're getting their | |||
TimToady | timotimo: 0 * * isn't worth much | 16:11 | |
timotimo | supposed to skip an argument | ||
that's all | |||
TimToady | ah | 16:12 | |
m: say 1, 1, 1, -> $a,$,$c { $a + $c } ... * | 16:13 | ||
camelia | rakudo-moar 262352: OUTPUT«1 1 1 2 3 4 6 9 13 19 28 41 60 88 129 189 277 406 595 872 1278 1873 2745 4023 5896 8641 12664 18560 27201 39865 58425 85626 125491 183916 269542 395033 578949 848491 1243524 1822473 2670964 3914488 5736961 8407925 12322413 18059374 26467299 38789712 568490…» | ||
TimToady would write it more like that | |||
timotimo | mhm | 16:21 | |
less hacky, that's for sure | |||
hoelzro | is there a reason that unicode.c hasn't been fixed for VS2015, like performance or something? I'm wondering if I should try my hand at fixing it after work | 16:26 | |
jnthn | hoelzro: Nothing more than "everybody had more critical things to do" | 16:30 | |
hoelzro | jnthn: ok, good to know. I don't have anything more critical to do, so I'll give it a shot =) | ||
jnthn | hoelzro: If there's a reasonable workaround to the bug that doesn't cause other issues, I've no problem with it. | ||
timotimo | i might be unable to do much development during the coming week, because it's Chaos Communication Camp | 16:33 | |
lots of things still to do, though :| | 16:34 | ||
TimToady | jnthn: reordering hyperbatches sounds like a good place for a heap sort | 16:35 | |
for cleverness one might think about increasing the size of later batches so that the earlier batches tend to complete first | 16:38 | ||
and fibonacci might show up again in this way: suppose you have two threads, and want to do 16 things, but you don't want the latency of 8 | 16:40 | ||
so you give one thread a 3 batch and a 5 batch, and the other thread an 8 batch | |||
then your initial latency is 3, but overall time is 8 | |||
16:41
brrt joined
|
|||
japhb | As soon as you said heap sort and fibonacci, I thought of en.wikipedia.org/wiki/Fibonacci_heap | 16:42 | |
timotimo | oh yeah | ||
TimToady | "Fibonacci heaps have a reputation for being slow in practice[11] due to large memory consumption per node and high constant factors on all operations." | 16:46 | |
brrt | hmmmmmmm.... another *challenge*; how to upwards-propagate terminals | 16:57 | |
can i automate that at all, i wonder | 17:01 | ||
of course i :-) should i? | 17:02 | ||
i can | |||
japhb | TimToady: I saw that ... it wasn't a serious suggestion, just noting the path my brain followed. | ||
22:05
TEttinger joined
22:41
TimToady_ joined
|