github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:41
Kaiepi left
|
|||
timotimo | lizmat: i wonder what you mean in the weekly by "looking forward to when this hits master" | 01:21 | |
Geth_ | MoarVM/informative_deopt_profile: d188b7a22f | (Timo Paulssen)++ | 12 files WIP on storing more data about deopts |
02:10 | |
02:53
Kaiepi joined
02:54
p6bannerbot sets mode: +v Kaiepi
06:08
Kaiepi left
06:20
lizmat left
06:24
Kaiepi joined,
p6bannerbot sets mode: +v Kaiepi
07:08
domidumont joined
07:09
p6bannerbot sets mode: +v domidumont
07:36
robertle joined
07:37
p6bannerbot sets mode: +v robertle
10:45
Kaypie joined,
Kaiepi left
10:46
p6bannerbot sets mode: +v Kaypie
10:57
zakharyas joined
10:58
p6bannerbot sets mode: +v zakharyas
11:00
lizmat joined,
p6bannerbot sets mode: +v lizmat
11:41
zakharyas left
11:46
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
12:27
nebuchadnezzar left,
nebuchadnezzar joined
12:28
p6bannerbot sets mode: +v nebuchadnezzar
12:36
shareable6 left,
shareable6 joined
12:37
p6bannerbot sets mode: +v shareable6
12:56
dogbert17 joined
12:57
p6bannerbot sets mode: +v dogbert17
13:14
ZofBot joined,
p6bannerbot sets mode: +v ZofBot
13:18
dalek left,
dalek joined
13:19
p6bannerbot sets mode: +v dalek
13:30
rba joined
13:31
p6bannerbot sets mode: +v rba
14:49
MasterDuke left
15:01
zakharyas left
15:02
rba left
|
|||
Geth_ | MoarVM/pea: 15 commits pushed by (Jonathan Worthington)++, (Carl Masak)++ review: github.com/MoarVM/MoarVM/compare/d...51f33e5a6d |
15:22 | |
jnthn | Rebase, to keep atop of master :) | ||
15:38
greppable6 left
15:39
greppable6 joined,
greppable6 left,
greppable6 joined,
p6bannerbot sets mode: +v greppable6
15:40
undersightable6 left,
releasable6 left,
bisectable6 left,
squashable6 left,
notable6 left,
statisfiable6 left,
bloatable6 left,
p6bannerbot sets mode: +v greppable6,
unicodable6 left,
undersightable6 joined,
releasable6 joined,
benchable6 left,
coverable6 left,
bisectable6 joined,
quotable6 left,
notable6 joined,
squashable6 joined,
committable6 left,
shareable6 left,
notable6 left,
squashable6 left,
bisectable6 left,
greppable6 left,
evalable6 left,
nativecallable6 left,
committable6 joined,
shareable6 joined
15:41
p6bannerbot sets mode: +v undersightable6,
p6bannerbot sets mode: +v releasable6,
p6bannerbot sets mode: +v committable6,
p6bannerbot sets mode: +v shareable6
15:43
evalable6 joined,
nativecallable6 joined,
greppable6 joined,
notable6 joined,
quotable6 joined
15:44
p6bannerbot sets mode: +v evalable6,
p6bannerbot sets mode: +v nativecallable6,
p6bannerbot sets mode: +v greppable6,
p6bannerbot sets mode: +v notable6
|
|||
Geth_ | MoarVM/pea: 8e85c3947e | (Jonathan Worthington)++ | 4 files Add an envvar to turn PEA on/off |
15:44 | |
15:44
p6bannerbot sets mode: +v quotable6
15:46
bisectable6 joined
15:47
p6bannerbot sets mode: +v bisectable6
|
|||
jnthn | Anyone seen a "MoarVM oops: Spesh: failed to fix up inline 4 (last) 902 -1" lately? | 15:49 | |
timotimo | only with --profile, and very rarely | 15:50 | |
jnthn | After rebase of pea atop of master, and my lexical => local lowering atop of Rakudo master, I suddenly have some new cases of this (probably all the same root cause) | ||
All in spectest | |||
lizmat | fwiw, not seen those in a long time | ||
jnthn | Disabling PEA doesn't help, so it can't just be that | ||
It's in Spesh of '' (cuid: 12163, file: SETTING::src/core/operators.pm6:177) | 15:51 | ||
Which is part of SEQUENCE | 15:52 | ||
timotimo | i, for one, would love to know how a b0rked object enters an object register purely by virtue of having had my prof_guard* ops substituted in for the regular guard_* ops; it happens after profiling has ended, but moar no longer tries to change code back when it hits the end of the profile | ||
jnthn | Goodness this thing has big PHIs... | ||
timotimo | .o( i like big BBs and i cannot PHI ) | ||
jnthn | :P | 15:53 | |
Yeah, the Inline End annotation really has gone amiss | |||
lizmat | jnthn: permission to refactor SEQUENCE ? | 15:54 | |
:-) | |||
timotimo | the current SEQUENCE will have served its purpose once this code gen / optimization bug has been fixed ;) | ||
lizmat | okidoki | ||
jnthn | lizmat: I think it was TimToady++ who wrote most of it | 15:55 | |
timotimo | (not serious) | ||
lizmat | yeah, before we had modern day iterators | ||
timotimo | those were simpler times | ||
lizmat | (and slower times) | 15:56 | |
m: dd a => 42 <<+>> b => 666 # what should that give ? | 16:01 | ||
camelia | Cannot modify an immutable Pair (Nil => Nil) in block <unit> at <tmp> line 1 |
||
16:09
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
|
|||
Geth_ | MoarVM/pea: d1d6fbe0d9 | (Jonathan Worthington)++ | src/spesh/dead_bb_elimination.c Fix inline end annotation motion on BB deletion So that the end annotation does not get lost. This can happen if the last block(s) of an inline become unreachable. |
16:11 | |
jnthn | That fixes it. Maybe it'll eliminate timotimo++'s cases of seeing that bug too. :) | 16:13 | |
And now I'm back to the one test failure in my lexical to local lowering branch that I've no clue how I'm going to fix :) | |||
nwc10 | jnthn: master is somewhat in a state of sin currently | 16:15 | |
(re-running | |||
timotimo | don't forget to cherry-pick it into moarvm/master | ||
16:16
robertle left
|
|||
jnthn | nwc10: How so? | 16:16 | |
nwc10 | t/nqp/033-init.t t/nqp/081-radix.t t/nqp/101-lexpad-stuff.t fail | 16:17 | |
MoarVM panic: Register types do not match between value and node | |||
jnthn | timotimo: My branch did a change to fix succ fixup after the optimization of a throw into a goto | ||
nwc10 | MVM_SPESH_BLOCKING=1 MVM_SPESH_NODELAY=1 | ||
#define MVM_ARRAY_CONC_DEBUG 1 | 16:18 | ||
#define FSA_SIZE_DEBUG 1 | |||
jnthn | timotimo: I don't believe the thing I just fixed could possibly have happened before I fixed that, since the BB won't have been considered dead. | ||
nwc10 | #define MVM_SPESH_CHECK_DU 1 | ||
(and ASAN, but ASAN does not comment_ | |||
and I need to go eat, I'm told | |||
timotimo | in that case i don't know how fixing it only in pea would get rid of my cases of seeing that bug :) | ||
or i might misunderstand just in general | |||
today is not a "brain is working" day | |||
nwc10 | jnthn: I don't know how to be more helpful in further diagnosis or attempting to locate the root cause | 16:19 | |
(and I need to be afk) | |||
16:20
domidumont left
|
|||
jnthn | timotimo: Ho, good point. Unless there's something in the profiler that could trigger a similar case? Dunno. | 16:20 | |
16:29
zakharyas left,
zakharyas joined
16:30
p6bannerbot sets mode: +v zakharyas
16:34
Kaypie left,
Kaypie joined
16:35
p6bannerbot sets mode: +v Kaypie
16:40
benchable6 joined,
squashable6 joined
16:41
coverable6 joined,
unicodable6 joined,
statisfiable6 joined,
bloatable6 joined,
p6bannerbot sets mode: +v benchable6,
p6bannerbot sets mode: +v squashable6,
p6bannerbot sets mode: +v coverable6,
p6bannerbot sets mode: +v unicodable6,
p6bannerbot sets mode: +v statisfiable6
16:42
p6bannerbot sets mode: +v bloatable6
16:49
zakharyas left
|
|||
jnthn | releasable6: status | 17:12 | |
releasable6 | jnthn, Next release in ā4 days and ā1 hour. 3 blockers. 0 out of 125 commits logged | ||
jnthn, Details: gist.github.com/68a9fc75f164aaad4d...75b843fc1a | |||
18:35
zakharyas joined
18:36
p6bannerbot sets mode: +v zakharyas
18:40
zakharyas left,
zakharyas joined
18:41
p6bannerbot sets mode: +v zakharyas
18:49
emerson left
|
|||
dogbert17 | .seen brrt | 18:50 | |
yoleaux | I saw brrt 8 Nov 2018 19:58Z in #moarvm: <brrt> \o | ||
18:52
emerson joined,
p6bannerbot sets mode: +v emerson
|
|||
timotimo | a random piece of code i'm looking at: | 19:11 | |
the code is ((Bool.pick ?? Tree !! Empty) xx $!width) xx $!height | |||
or so | |||
pro: the &infix:<xx> call actually inlines the (Bool.pick ?? Tree !! Empty) inside itself | |||
that's pretty cool | |||
but a missed opportunity is that Tree and Empty are set in two branches, then PHI-merged | 19:12 | ||
but the register it gets merged into doesn't have any facts on it, and so it has a sp_guardconc following it | |||
which could completely go if we had propagated merged flags from the phi | 19:13 | ||
well, just a itsy-bitsy tiny-whiny thing i stumbled upon | |||
19:20
zakharyas left
|
|||
timotimo | i'm not quite sure why the After: section has so many empty BBs still left | 19:25 | |
19:29
robertle joined,
p6bannerbot sets mode: +v robertle
|
|||
jnthn | timotimo: I'm not sure what facts those two would have in common? | 19:40 | |
timotimo | type and concreteness | ||
jnthn | Tree and Empty are of different types, no? | ||
timotimo | oh | ||
not in this program :) | |||
jnthn | m: say Empty.DEFINITE | ||
camelia | True | ||
timotimo | m: enum <Empty Tree Heating Burning>; say Empty.^mro | 19:41 | |
camelia | (() (Int) (Cool) (Any) (Mu)) | ||
jnthn | Is Tree also .DEFINITE? | ||
Oh...not *that* Empty :) | |||
Yeah, OK, then I dunno why it doesn't merge | |||
timotimo | yes, it is | ||
could be an order-of-operations problem again | |||
as always :) | |||
append @foo: 1, 2; is sloooowww. if @foo is an int16 array it's 1/6th faster. if you push twice instead it's like 100x faster, maybe more | 19:42 | ||
it's hard to measure that because you have a list that grows a whole bunch, and gc could become a big part of your run time | |||
and assigning Empty over and over must not become a major time sink either | 19:43 | ||
lizmat: wanna investigate if appending a couple of elements into an array could be made a bunch faster? :) | 19:45 | ||
lizmat | like Array.push ? | ||
timotimo | specifically @foo.append: 1, 2 | ||
versus @foo.push: 1; @foo.push: 2; | 19:46 | ||
lizmat | ok, tell me | ||
timotimo | m: my int16 @foo; for ^1_000 { @foo = Empty; for ^1_000 { append @foo: 1, 2; } }; say now - ENTER now | ||
camelia | 4.58774029 | ||
timotimo | m: my int16 @foo; for ^1_000 { @foo = Empty; for ^1_000 { push @foo: 1; push @foo: 2; } }; say now - ENTER now | ||
camelia | 0.08808437 | ||
timotimo | m: my int16 @foo; for ^1_000 { @foo = Empty; for ^1_000 { append @foo, 1, 2; } }; say now - ENTER now | 19:47 | |
^- much worse | |||
19:47
rba joined
|
|||
camelia | 12.9074396 | 19:47 | |
timotimo | that's the sub form, instead of the method form | ||
so perhaps you're in the mood for a commit with "make append 100x faster" in it ): | |||
19:47
p6bannerbot sets mode: +v rba
|
|||
timotimo | if not, maybe i'll have a look | 19:48 | |
lizmat is looking | 19:49 | ||
timotimo: also, if you're timing with for loops, add -> int $_ | 19:50 | ||
that will remove the noise of the Int's being made for $_ on each iterationn | |||
timotimo | ah | ||
m: my int16 @foo; for ^1_000 -> int $_ { @foo = Empty; for ^1_000 -> int $_ { append @foo, 1, 2; } }; say now - ENTER now | |||
camelia | 13.1483053 | ||
timotimo | m: my int16 @foo; for ^1_000 -> int $ { @foo = Empty; for ^1_000 -> int $ { append @foo, 1, 2; } }; say now - ENTER now | 19:51 | |
camelia | 13.33780948 | ||
timotimo | not in this case apparently? | ||
lizmat | int $_ | ||
timotimo | that's what i tried first | ||
lizmat | m: for ^10_000_000 { }; say now - ENTER now | 19:52 | |
camelia | 0.2908868 | ||
lizmat | m: for ^10_000_000 -> int $_ { }; say now - ENTER now | ||
camelia | 1.37746726 | ||
timotimo | whoops! | 19:53 | |
lizmat | huh? | ||
m: for ^10_000_000 -> int $_ { }; say now - ENTER now | |||
camelia | 1.36683639 | ||
lizmat | $ 6 'for ^10_000_000 { }; say now - ENTER now' | ||
0.299314 | |||
$ 6 'for ^10_000_000 -> int $_ { }; say now - ENTER now' | |||
0.0917367 | |||
m: for ^10_000_000 -> int $_ { }; say now - ENTER now | |||
camelia | 1.333836 | ||
lizmat | m: for ^10_000_000 { }; say now - ENTER now | ||
camelia | 0.2944897 | ||
lizmat | weird | ||
timotimo | anyway, the append i have in this code, which is rc-forest-fire, spends a bunch of its time in Array's append-list (Array.pm6:750), and another chunk in from-slurpy | 19:54 | |
and a tiny sliver in is-lazy | |||
lizmat | well, I'm about to go afk for a double helping of Fantastic Beasts | ||
timotimo | but the program itself spends only a miniscule amount actually appending double-values anyway | ||
so it won't be a big help for performance in this case | |||
lizmat | so it'll be tomorrow for me | 19:55 | |
timotimo | no problem | 19:56 | |
enjoy the movies! :) | |||
lizmat | I will! | ||
20:05
Kaypie left,
Kaypie joined
20:06
p6bannerbot sets mode: +v Kaypie
20:41
Kaypie left
20:43
Kaiepi joined
20:44
p6bannerbot sets mode: +v Kaiepi
20:55
Kaiepi left,
Kaiepi joined
20:56
p6bannerbot sets mode: +v Kaiepi
22:08
AlexDaniel left,
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
22:09
robertle left
23:14
dogbert11 joined
23:15
p6bannerbot sets mode: +v dogbert11
23:16
dogbert17 left
23:19
Kaypie joined,
p6bannerbot sets mode: +v Kaypie
23:20
Kaiepi left
|
|||
timotimo | oh, merge_bbs is commented out, probably only in the pea branch | 23:29 | |
23:57
emerson left
|