Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-08-07

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

All times shown according to UTC.

Time Nick Message
03:16 TimToady joined #moarvm
06:24 oetiker joined #moarvm
06:25 rurban_ joined #moarvm
07:07 FROGGS joined #moarvm
08:29 brrt joined #moarvm
09:36 dalek MoarVM/even-moar-jit: 9692830 | brrt++ | src/jit/ (5 files):
09:36 dalek MoarVM/even-moar-jit: Move pseudocompiler to it's own file
09:36 dalek MoarVM/even-moar-jit:
09:36 dalek MoarVM/even-moar-jit: Nice to know, but outlived it's time.
09:36 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/9692830ed4
09:39 brrt lunch &
10:00 brrt joined #moarvm
10:48 nwc10_ joined #moarvm
10:49 nwc10 joined #moarvm
10:49 brrt joined #moarvm
10:49 FROGGS joined #moarvm
10:49 rurban_ joined #moarvm
10:49 oetiker joined #moarvm
10:49 TimToady joined #moarvm
10:49 TEttinger joined #moarvm
10:49 colomon joined #moarvm
10:49 leedo joined #moarvm
10:49 itz joined #moarvm
10:49 harrow joined #moarvm
10:49 mtj_ joined #moarvm
10:49 lizmat joined #moarvm
10:49 japhb joined #moarvm
10:49 Util joined #moarvm
10:49 [Coke] joined #moarvm
10:49 camelia joined #moarvm
10:49 synbot6 joined #moarvm
10:49 diakopter joined #moarvm
10:49 ggoebel joined #moarvm
10:49 tadzik joined #moarvm
10:49 dagurval joined #moarvm
10:49 rudi_s joined #moarvm
10:49 psch joined #moarvm
10:49 masak joined #moarvm
10:49 flussence joined #moarvm
10:49 sergot joined #moarvm
10:49 prammer joined #moarvm
10:49 hoelzro joined #moarvm
10:49 timotimo joined #moarvm
10:49 nebuchadnezzar joined #moarvm
10:49 JimmyZ joined #moarvm
10:49 dalek joined #moarvm
10:49 retupmoca joined #moarvm
10:49 bonsaikitten joined #moarvm
10:49 sivoais joined #moarvm
10:49 moritz joined #moarvm
10:49 jnthn joined #moarvm
10:49 danaj joined #moarvm
10:49 arnsholt joined #moarvm
10:49 btyler_ joined #moarvm
10:49 BinGOs joined #moarvm
10:49 nine joined #moarvm
10:49 ashleyde1 joined #moarvm
10:49 avar joined #moarvm
10:49 ChanServ joined #moarvm
11:05 danaj joined #moarvm
12:08 * brrt wonders whether we can't build a more reliable chat thing than irc
12:14 brrt hmm... i've a bit of an issue with types
12:17 brrt jnthn: would it hurt significantly to declare the int sizes *before* we load types.h
12:18 brrt it would solve my problem so well
12:19 tadzik brrt: have you see matrix.org?
12:19 tadzik it's quite promising
12:19 brrt i have not
12:20 brrt oh, cool
12:21 tadzik a bit lacking on the client side of things, but there's a weechat plugin for it that works
12:27 jnthn brrt: Is there any notable downside?
12:27 brrt not that i know of
12:27 jnthn brrt: irssi in a screen session = reliable IRC ;)
12:27 brrt hmm yeah
12:27 brrt but then i have to badger moritz about an ssh connection :-)
12:28 jnthn I think other people on that channel can give you one also
12:28 timo joined #moarvm
12:28 jnthn If declaring the int sizes before the composite types solves you problems, I've no particular objections
12:30 brrt :-)
12:30 brrt then i probably will
12:30 brrt although i can get away with not doing it
12:30 timotimo o/
12:31 brrt oh hai timotimo
12:43 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:44 jnthn Yes :/
12:44 jnthn Or see if there's a patch VS 2015 available
12:44 nwc10 so, VS 2013 is an upgrade from 2015, much like 7 is an upgrade from 8?
12:44 nwc10 what is it with MS?
12:44 jnthn It's decidedly a compiler bug, nothing we're doing wrong.
12:44 nwc10 any iea what it's choking over? A very big switch statement?
12:44 jnthn I think a deeply nested literal
12:47 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?
13:11 zakharyas joined #moarvm
13:25 brrt yeah, it would
13:25 brrt #ifdef BORKEN_MSVC #error "Your MSVC is broken. OOPS" #endif
13:25 brrt or something like that :-)
13:32 brrt weird
13:43 dalek MoarVM/even-moar-jit: 206b77e | brrt++ | 3rdparty/dynasm:
13:43 dalek MoarVM/even-moar-jit: Update to bugfixed dynasm
13:43 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/206b77e25b
13:50 brrt be back in a bit
14:17 brrt joined #moarvm
15:07 rurban_ joined #moarvm
15:24 dalek MoarVM/even-moar-jit: ca4db0d | brrt++ | src/ (7 files):
15:24 dalek MoarVM/even-moar-jit: Implement a few tiles, for real this time
15:24 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/ca4db0dffb
15:24 brrt so... many.. tiles
15:25 jnthn .oO( Es ist Mein Tile - Nein )
15:28 brrt but, we're getting there
15:28 jnthn :)
15:28 jnthn brrt++ # persistence
15:29 jnthn I think I've finally figured out a reasonable API for the hyper/race stuff.
15:30 brrt \o/
15:31 brrt (i've finally figured out a reasonable API for tiles :-))
15:31 japhb Congrats to both of you.  :-)
15:36 jnthn Means I can get the hard stuff involving concurrency control all in one place.
15:37 jnthn 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/
15:38 timotimo are some tiles defined as C code directly and some are built from the .tiles file?
15:52 brrt all tiles are defined as c code
15:53 brrt the tiling state machine is built from the .tiles file
15:53 jnthn Hmm...one condvar or two...
15:54 timotimo oh
15:54 timotimo the tiling state machine is what decides what tiles to apply when
15:54 timotimo and the tiles themselves are then C code
15:54 timotimo makes sense
15:55 brrt :-)
15:56 brrt keeps dasm in its place
15:56 JimmyZ the new JIT looks like promising
15:56 timotimo i must admit i'ven't compiled a moarvm with the new jit yet :|
15:57 timotimo 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?
15:57 jnthn TimToady: It's not immediately a bad idea.
15:58 jnthn 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 jnthn TimToady: And then when it's working will get clever :)
15:58 TimToady cleverer, I suspect
15:59 jnthn ;)
15:59 jnthn Yeah, well, I figured we want an escape hatch too
15:59 jnthn So .hyper() is the "try and work out the best thing for me"
15:59 jnthn But you can do .hyper(:batch(100)) to say "work 100 items at a time"
16:00 jnthn .hyper(:batch(100), :degree(2)) # work in batches of 100 and over 2 threads
16:01 JimmyZ :batch(10, 20, 30 .. *) ;)
16:01 jnthn And for now our clever is limited to method hyper(:$batch = 64, :$degree = 4) { }
16:01 jnthn JimmyZ: That's probably overkill.
16:03 timotimo you'd only need "10, 20 ... *", too
16:03 timotimo (but 3 dots rather than 2)
16:08 TimToady well, and slow-start would be more like :batch(1, 1, *+* ... *)
16:08 jnthn What, fib has a real world use??? Mind = blown!
16:08 timotimo hah
16:09 TimToady well, I doubt that's how TCP does slow-start
16:09 TimToady but you want something that grows at a reasonable rate
16:09 timotimo m: .say for (1, 1, 1, * + 0 * * + *, ... *)
16:09 camelia rakudo-moar 262352: OUTPUT«===SORRY!=== Error while compiling /tmp/JUOx4NwaZM␤Comma 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, * + …»
16:09 timotimo m: .say for (1, 1, 1, * + 0 * * + * ... *)
16:09 TimToady why the parens?
16:09 timotimo superstitions
16:09 brrt fib has plenty real world uses!
16:09 camelia rakudo-moar 262352: OUTPUT«(timeout)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␤12435…»
16:10 timotimo that sequence seems cute
16:10 brrt ehm, something something about huffman coding dictionairy sizes
16:10 brrt timotimo: no, doesn't compile things yet. working on that :-)
16:10 brrt we're getting their
16:11 TimToady timotimo: 0 * * isn't worth much
16:11 timotimo supposed to skip an argument
16:11 timotimo that's all
16:12 TimToady ah
16:13 TimToady 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…»
16:13 * TimToady would write it more like that
16:21 timotimo mhm
16:21 timotimo less hacky, that's for sure
16:26 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:30 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 =)
16:30 jnthn hoelzro: If there's a reasonable workaround to the bug that doesn't cause other issues, I've no problem with it.
16:33 timotimo i might be unable to do much development during the coming week, because it's Chaos Communication Camp
16:34 timotimo lots of things still to do, though :|
16:35 TimToady jnthn: reordering hyperbatches sounds like a good place for a heap sort
16:38 TimToady for cleverness one might think about increasing the size of later batches so that the earlier batches tend to complete first
16:40 TimToady 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 TimToady so you give one thread a 3 batch and a 5 batch, and the other thread an 8 batch
16:40 TimToady then your initial latency is 3, but overall time is 8
16:41 brrt joined #moarvm
16:42 japhb As soon as you said heap sort and fibonacci, I thought of https://en.wikipedia.org/wiki/Fibonacci_heap
16:42 timotimo oh yeah
16:46 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:57 brrt hmmmmmmm.... another *challenge*; how to upwards-propagate terminals
17:01 brrt can i automate that at all, i wonder
17:02 brrt of course i :-) should i?
17:02 brrt i can
17:02 japhb TimToady: I saw that ... it wasn't a serious suggestion, just noting the path my brain followed.
22:05 TEttinger joined #moarvm
22:41 TimToady_ joined #moarvm

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