|
github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
| jnthn | We don't know which slots are the pair for a method cache | 00:03 | |
| And we can't just ignore NULL ones because when we inline, the spesh slots are populated | |||
| Potentially with a method | |||
| timotimo | ah, you mean when we've reconstructed the spesh graph from the candidate to build the inline | ||
| jnthn | Right | ||
| timotimo | yes, indeed | ||
| jnthn | Again, solvable somehow | ||
| But maybe more effort than it's worth | |||
| timotimo | similarly we lose all comments on the spesh graphs, but i'd rather not keep them around | 00:04 | |
| jnthn | Known deconted type is probably going away anyway at some point | ||
| timotimo | though of course they'd only have to be stored if spesh logging is turned on | ||
| jnthn | I can't remember why we still have it | ||
| It's not reliable data, in general | |||
| timotimo | so we guard on it all the time anyway? | 00:06 | |
| jnthn | I hope so :) | ||
| The problem is that if the container is shared another thread could write to it | |||
| Debug name of known type would be very useful, though | 00:07 | ||
| timotimo | that'd be easy to add | ||
| though the facts section is already pretty big and messy | |||
| jnthn | :) | 00:17 | |
| 'night o/ | |||
| timotimo | night jnthn! | ||
|
00:17
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
00:18
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
|
|||
| timotimo | well, that was a simple patch | 00:22 | |
|
00:22
lizmat left
|
|||
| Geth | MoarVM: a74af55855 | (Timo Paulssen)++ | src/spesh/dump.c output known type's debugname in spesh log |
00:23 | |
| timotimo | i wonder what the motivation is behind using bitand_i to combine $pos >= 0 and isconcrete($reified) | 00:28 | |
| 0.000760% jit 2,762,500 entries | 00:55 | ||
| MasterDuke | m: say 2762500*.00076 | 00:56 | |
| camelia | 2099.5 | ||
| MasterDuke | timotimo: github.com/rakudo/rakudo/commit/0baeec0223 | 00:59 | |
|
01:00
lizmat joined,
p6bannerbot sets mode: +v lizmat
|
|||
| timotimo is watching moarperf slooowly using more and more RES memory | 01:06 | ||
| MasterDuke | as it's doing something? or just while idle? | 01:07 | |
| timotimo | no requests at least; perhaps the websocket connection is pinging or something | 01:08 | |
| i see one of the processes waiting for a futex, then waking one, then calling mprotecd, then waiting with the futex again | 01:11 | ||
| one process is doing nanosleep and getrusage over and over again, i'd assume that's the supervisor thread for the thread pool scheduler | 01:12 | ||
| that one also calls futex with WAKE_PRIVATE | |||
| i closed the browser tab that was connected, looks like it's still growing, though. | 01:14 | ||
| yeah | |||
| MasterDuke | think it's something that can be fixed? | 01:15 | |
| timotimo | well, i sure hope so :) | 01:21 | |
| it felt faster than 1 megabyte per minute | 01:22 | ||
| i don't know how i can tell heaptrack to ignore the first 60 seconds or so | |||
| maybe version 1.1 has something for that, i'm still on 1.0 | 01:26 | ||
| MasterDuke | you can attach heaptrack to an already running process | 01:27 | |
| timotimo | oh | 01:28 | |
| well, that would do it | |||
| this time it didn't keep growing | 01:35 | ||
| MasterDuke | a watched pot never boils, a heaptracked process never grows | 01:37 | |
| timotimo | it did when i had it attached that other time | 01:38 | |
| it was just not possible to figure out which of the parts of the stack was the one that was growing | |||
| attaching it to jjust "pidof moar" gave me a recording of 0.001s run time :\ | 01:45 | ||
| eh. bedtime. | 01:46 | ||
| gnite! | |||
|
01:50
Kaiepi joined
01:51
p6bannerbot sets mode: +v Kaiepi
02:20
MasterDuke left
03:51
ggoebel left
04:07
ggoebel joined,
p6bannerbot sets mode: +v ggoebel
05:00
ItchyPlant joined
05:01
p6bannerbot sets mode: +v ItchyPlant
06:23
ItchyPlant left
07:03
domidumont joined
07:04
p6bannerbot sets mode: +v domidumont
09:26
zakharyas joined
09:27
p6bannerbot sets mode: +v zakharyas
09:28
zakharyas left
09:29
zakharyas joined
09:30
p6bannerbot sets mode: +v zakharyas
11:28
evalable6 left,
evalable6 joined
11:29
p6bannerbot sets mode: +v evalable6
12:04
zakharyas left
12:21
brrt joined
12:22
p6bannerbot sets mode: +v brrt
|
|||
| brrt | \o | 12:23 | |
| .tell lizmat if apple releases a laptop with an A12/A14 chip, that's finally going to be a good reason for me to buy an apple laptop ;-) | |||
| yoleaux | brrt: I'll pass your message to lizmat. | ||
| brrt | A64 ISA seems like a fun challenge | 12:24 | |
| nine | 10.957s! That's 200ms better than the best value I got from master so far | 12:39 | |
| Followed by 10.911 :) | |||
| brrt | nine++ progress | 12:42 | |
| jnthn | Cool! :) | 13:20 | |
|
13:33
dogbert17 joined
13:34
p6bannerbot sets mode: +v dogbert17
14:00
zakharyas joined
14:01
p6bannerbot sets mode: +v zakharyas
14:37
lizmat left
14:51
domidumont left
15:57
lizmat joined,
p6bannerbot sets mode: +v lizmat
16:04
robertle left
16:14
brrt left
16:20
brrt joined
16:21
p6bannerbot sets mode: +v brrt
16:31
robertle joined,
p6bannerbot sets mode: +v robertle
16:37
zakharyas left
17:04
avar left,
avar joined,
avar left,
avar joined,
p6bannerbot sets mode: +v avar
17:05
p6bannerbot sets mode: +v avar
|
|||
| timotimo | oooh fabulous | 17:31 | |
| i'm still looking for a good solution for identifying specific functions from the core setting when loading a profile | 17:45 | ||
| since line numbers always change, and there's multi subs and methods with multiple candidates in one file that might be different enough that we want to tell them apart | 17:46 | ||
| the iterators file is especially bad at this, there's hundreds of push-all and pull-one and such in there | |||
| one example for "intelligence" would be to see that a user function indirectly calls Bridge on, for instance, Int or Rat | 17:47 | ||
| and that could be pointed out like "perhaps you can use Num earlier in this computation" | |||
| imagine code like if $foo < 5 { ... } that would convert 5 to num over and over again without need | 17:48 | ||
| brrt | how is that not the job of the optimizer :-) | ||
| timotimo | hmm. | ||
| i'll keep this idea on the drawing board for a bit | 17:49 | ||
| i'm thinking the profiler should offer (or even default) to combine all threads from one thread pool into a single tree | |||
|
17:52
domidumont joined
17:53
p6bannerbot sets mode: +v domidumont
18:09
brrt left
18:38
patrickb joined
18:39
p6bannerbot sets mode: +v patrickb
18:52
patrickb left
18:54
fake_space_whale left
|
|||
| japhb | brrt: Intelligence in depth. It's useful to work to have a good optimizer (and spesh and jit) *and* to detect cases where the optimizer (or spesh or jit) missed out *and* to determine cases where the user is doing something fundamentally difficult to optimize. | 19:35 | |
| Sortof the same reason at the C level we have all of compiler warnings, valgrind, and *san tools. | 19:36 | ||
|
20:04
domidumont left
20:08
domidumont joined
20:09
p6bannerbot sets mode: +v domidumont,
domidumont left
20:28
patrickb joined,
p6bannerbot sets mode: +v patrickb
20:52
patrickb left
21:04
lizmat left
22:12
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke,
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
22:22
lizmat joined,
p6bannerbot sets mode: +v lizmat
|
|||