github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:32
dalek joined
00:33
p6bannerbot sets mode: +v dalek
|
|||
Geth | MoarVM: f06c695a30 | (Samantha McVey)++ | 2 files [UNI] Make Block name lookup work for unassigned cp's Unlike other properties which if they are unassigned go to default values, Block does not work this way. Instead of looking it up in the database, use similar code to how we check the block in other circumstances and use binary search over our Block info data structure. ... (6 more lines) |
00:52 | |
MoarVM: e17a53b870 | (Samantha McVey)++ | docs/release_guide.md Update the release guide a bit |
|||
01:20
ilmari joined,
ilmari left,
ilmari joined,
p6bannerbot sets mode: +v ilmari
01:21
p6bannerbot sets mode: +v ilmari
02:17
fake_space_whale left
03:23
yoleaux left
03:25
klapperl joined,
p6bannerbot sets mode: +v klapperl
05:20
yoleaux joined
05:21
p6bannerbot sets mode: +v yoleaux
06:18
patrickb joined,
p6bannerbot sets mode: +v patrickb
06:44
robertle joined
06:45
p6bannerbot sets mode: +v robertle
07:24
domidumont joined
07:25
p6bannerbot sets mode: +v domidumont
08:22
lizmat left
08:28
zakharyas joined
08:29
p6bannerbot sets mode: +v zakharyas
09:15
brrt joined
09:16
p6bannerbot sets mode: +v brrt
|
|||
brrt | \o | 09:23 | |
nwc10 | o/ | 09:24 | |
09:55
brrt left
10:07
domidumont left
10:33
zakharyas1 joined
10:34
p6bannerbot sets mode: +v zakharyas1
10:36
zakharyas left
11:09
zakharyas1 left
12:05
domidumont joined
12:06
p6bannerbot sets mode: +v domidumont
12:09
domidumont left
12:11
domidumont joined,
p6bannerbot sets mode: +v domidumont
12:28
brrt joined
12:29
p6bannerbot sets mode: +v brrt
|
|||
brrt | \o | 12:30 | |
timotimo: you mean to say that the JITted version is slower than the non-jitted version? | 12:32 | ||
12:33
domidumont left
12:35
domidumont joined,
p6bannerbot sets mode: +v domidumont
|
|||
brrt | we can easily make a trunc_i8 though | 12:37 | |
12:56
zakharyas joined
12:57
p6bannerbot sets mode: +v zakharyas
12:59
ggoebel left
|
|||
brrt | hmm, I may have to get sucked into improving the tiler... | 13:01 | |
bugger | 13:03 | ||
well, the tiler table generator | |||
13:07
domidumont left
13:09
domidumont joined
13:10
p6bannerbot sets mode: +v domidumont
13:15
ggoebel joined
13:16
p6bannerbot sets mode: +v ggoebel
13:19
colomon joined,
p6bannerbot sets mode: +v colomon
|
|||
timotimo | brrt: no, the jitted version is faster, but the version without the bail is even fasterer | 13:26 | |
brrt | ah, i see | 13:45 | |
I need to do a rethink on how we do tiler table generation in general, I think we can do that much better | 13:46 | ||
timotimo | that's a moarvm-compile-time-thing, yeah? | 13:50 | |
or does it impact the data structure we're using internally? | |||
brrt | not really, no | 13:52 | |
although I can replace my handwritten binary searches with a call to bsearch and be happier | |||
14:00
brrt left
|
|||
timotimo | at the moment multiplying by 4 is almost 2x faster than left-shifting by 2 :) | 14:34 | |
we just don't have an implementation for the shl and shr ops in the jit, though | 14:35 | ||
jnthn | .oO( no shift, sherlock... ) |
14:37 | |
timotimo | this particular benchmark is faster with Int than with int | 14:38 | |
shameful ;) | |||
jnthn | Yeah...improving the performance of code using native types is near the top of my post-vacation todo list :) | 14:41 | |
Gotta finish/give my workshop talks before I get vacation though :P | |||
timotimo | of course | 14:43 | |
:) | |||
jnthn | At least I've got a nice view while I'm writing :) | 14:44 | |
timotimo | grmbl, this program gets faster if i replace the int8 arrays with regular arrays that store Int objects. though perhaps that has something to do with only using 0 and 1? | 14:56 | |
this program simulates 500 steps of an 80x80 2d cellular automaton that takes four neighbors + itself as input and has a probabilistic input in 11.25 seconds, which includes displaying it with unicode HALF BLOCK characters and reverse video, which runs in parallel to the simulation | 14:59 | ||
19.53 seconds user, 177% cpu usage | |||
that's not even bad. | |||
i'm using an array of arrays, though, not a 2d shaped array | |||
15:25
fake_space_whale joined
15:26
p6bannerbot sets mode: +v fake_space_whale
15:29
robertle left
15:31
patrickb left
15:53
domidumont left
16:11
fake_space_whale left
16:19
zakharyas left
16:32
zakharyas joined
16:33
p6bannerbot sets mode: +v zakharyas
16:46
robertle joined
16:47
p6bannerbot sets mode: +v robertle
16:51
MasterDuke left,
brrt joined
16:52
p6bannerbot sets mode: +v brrt
17:07
domidumont joined
17:08
p6bannerbot sets mode: +v domidumont
17:31
colomon_ joined
17:32
colomon left,
colomon_ is now known as colomon,
p6bannerbot sets mode: +v colomon
17:46
domidumont left
17:55
zakharyas left
18:43
Kaiepi left
18:44
Kaiepi joined
18:45
p6bannerbot sets mode: +v Kaiepi
19:05
brrt left
19:23
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
19:24
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
|
|||
nine | github.com/niner/Inline-Perl5/issues/122 is....hard | 19:25 | |
The bug is quite clear: arg_info only contains information about MAX_ARGS_FOR_OPT arguments but the getarg_i optimization/fix needs information about the corresponding argument, regardless of its number. | 19:26 | ||
I guess that's what I get for implementing a fix as an optimization. An optimizer can just have arbitrary limits for cases it tries to optimize while the fix always needs to work. | 19:27 | ||
19:29
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
|
|||
nine | Actually there's another bug lurking there. A getarg_i may actually be in a different basic block than the corresponding arg_i instruction. In that case arg_info may not be initialized at all. | 19:30 | |
MasterDuke | has anyone else seen this? tratt.net/laurie/blog/entries/why_a...art_1.html | 19:37 | |
interesting article about language VMs and how/when they reach steady state behavior (i.e., initial interpreting -> optimizing -> running optimized code) | 19:39 | ||
robertle | watch | 19:45 | |
the y axis on the graphs though! | |||
MasterDuke | yeah, the HN commentary has some good points | 19:47 | |
20:03
patrickz joined
|
|||
nwc10 | MasterDuke: no I hadn't. It's awesome. Not that I know how to imrpove stuff based on it | 20:04 | |
20:04
p6bannerbot sets mode: +v patrickz
|
|||
nwc10 | but the "people weren't really sure so we ran it 10 *times* longer" (rougly) approach, and then what they found, is jaw dropping | 20:05 | |
and even the graph for "C does strange things" - because they thought to compare all the VMs with somethign that should be predictable | 20:06 | ||
it all seems very thorough | |||
20:06
robertle left
|
|||
Kaiepi | for the async sockets fd pullreq, would it be a good idea to add an op that just initializes the socket, then have listen/connect use the socket it creates instead of initializing it on listen/connect? | 20:06 | |
i can't think of any other way to have the socket immediately available for IO::Socket::Async.listen to use | 20:07 | ||
what i'm thinking is having an op like nqp::asyncsocket that returns a raw socket, which could then be passed to nqp::asyncconnect and nqp::asynclisten, but that's a breaking change | 20:14 | ||
and i'm not sure how you'd get the socket's struct to get cleaned up after freeing the structs listen/connect use | 20:15 | ||
Geth | MoarVM: 2fb3265a18 | (Stefan Seifert)++ | src/spesh/optimize.c Fix segfault of native subs with more than 8 arguments arg_info only contains information about MAX_ARGS_FOR_OPT arguments but the getarg_i optimization/fix needs information about the corresponding argument, regardless of its number. Instead of relying on other optimizations, just look backwards for the corresponding arg_i instruction. Fixes github.com/niner/Inline-Perl5/issues/122 |
20:23 | |
[Coke] | reading MasterDuke's page there; I've seen jnthn measure actual CPU ops rather than trying to lock down all variables; seems like that's a much easier data point to get and have a high confidence level on. | 20:24 | |
nine | Not perfect, but this'll do for now as I'm heading to bed and will be AFK all of tomorrow. | ||
20:50
zakharyas left
21:24
brrt joined
21:25
p6bannerbot sets mode: +v brrt
21:31
brrt left
21:56
patrickz left
23:35
lizmat joined
23:36
p6bannerbot sets mode: +v lizmat
23:53
lizmat left
|