github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:07
Kaiepi left,
Kaiepi joined
00:58
pamplemousse joined
01:41
pamplemousse left
01:42
pamplemousse joined
01:47
pamplemousse left
02:10
pamplemousse joined
|
|||
AlexDaniel | MasterDuke: I just tested it on master, I think the issue is still there | 02:53 | |
MasterDuke: github.com/rakudo/rakudo/issues/36...-622224145 | 02:55 | ||
03:11
pamplemousse left
|
|||
MasterDuke | AlexDaniel: huh. guess we need to bisect while applying a patch | 06:43 | |
AlexDaniel | I'm not in the mood today :D | 06:44 | |
MasterDuke | i might give it a go in a bit | 06:49 | |
nine | If rakudo 2020.02.1 runs on MoarVM master, bisecting that ought to be trivial | 07:48 | |
MasterDuke | doesn't look like it `Cannot auto-decontainerize argument at gen/moar/stage2/QASTNode.nqp:410 (/home/dan/Source/perl6/r/install/share/nqp/lib/QASTNode.moarvm:new)` | 07:53 | |
huh. i get a time of 7.5s at HEAD, but 6.8s at 2020.02.1 (without the patch) | 07:59 | ||
08:00
Altai-man_ joined
|
|||
MasterDuke | hm, 5.3s at 2020.02.1 *with* the patch | 08:01 | |
AlexDaniel | MasterDuke: yeah, sounds about right | ||
I mean, I'm seeing the same | 08:02 | ||
nine | Well, we do know that rakudo master is a lot slower than 2020.02.1 in general | 08:05 | |
MasterDuke | oh, right. forgot about that | 08:06 | |
so i guess all i need to check is if HEAD minus the patch is slower than HEAD | 08:10 | ||
yeah. rakudo at HEAD, with MoarVM at HEAD~2 (i.e., minus the patch), is 9s. so 1.5s speedup from the patch | 08:22 | ||
nine | So the patch definitely helps. But does it fix the scaling issue? | 08:23 | |
MasterDuke | easy way to test? | 08:24 | |
08:34
zakharyas joined
|
|||
AlexDaniel | nine: no, it doesn't | 08:50 | |
orā¦ wellā¦ it depends? | |||
that's the graph on HEAD: user-images.githubusercontent.com/...dc5082.png | 08:51 | ||
so clearly there is a scaling issue | 08:52 | ||
but if it's faster now then it did help somewhat | |||
MasterDuke | what does it look like at HEAD minus the patch? | ||
AlexDaniel | give me a few minutesā¦ :) | 08:53 | |
08:57
sena_kun joined,
AlexDaniel left
08:58
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined,
Altai-man_ left
|
|||
MasterDuke | hm, how do i pass an `MVMString *` (but not one from a register) to the jit? it complains about MVM_JIT_INTERP_VAR | 09:04 | |
oh, `ins->operands[x].lit_i64 = (MVMint64)foo;` perhaps? | 09:06 | ||
AlexDaniel | MasterDuke: weird: user-images.githubusercontent.com/...e49ee8.png | 09:16 | |
MasterDuke: that's a 1.5s slowdown from the patch | |||
or maybe from other commits | 09:17 | ||
I simply tested it on 33f41966c | 09:18 | ||
linkable6 | (2020-04-30) github.com/rakudo/rakudo/commit/33f41966cf Use a smarter semaphore in Supply.squish | ||
AlexDaniel shrugs | |||
MasterDuke | i see a speedup of ~1.5s at 2020.02.01 and at HEAD from the patch, just with slower numbers overall at HEAD | 09:38 | |
AlexDaniel | MasterDuke: yeah, that's how it should be | 09:40 | |
09:42
Kaiepi left
09:43
Kaiepi joined
|
|||
AlexDaniel | MasterDuke: retested, I see roughly the same numbers before and after | 09:53 | |
AlexDaniel shrugs even more | 09:54 | ||
MasterDuke | before and after the patch? | ||
AlexDaniel | on master HEAD, yeah | ||
on 2020.02.1 it was pretty clear | 09:55 | ||
MasterDuke | it'll depend on memory contention and such, so maybe just something about what mem/cpu and how loaded your system is | 09:58 | |
AlexDaniel | well I tried to make sure that it's not loaded, but yeah | 10:02 | |
MasterDuke | i also saved 80ms by jitting getcurhllsym. i might not PR that just yet though, it may go in a bigger PR for stuff that has a template, but no lego jit implementation | 10:05 | |
10:20
MasterDuke left
10:36
farcas1982regreg left
|
|||
lizmat | MasterDuke: smaller commits bisect better :-) | 10:41 | |
tellable6 | lizmat, I'll pass your message to MasterDuke | ||
lizmat | MasterDuke: especially related to hard to trace bugs in the JIT | ||
tellable6 | lizmat, I'll pass your message to MasterDuke | ||
10:47
Ven`` joined
10:56
Altai-man_ joined
10:57
Ven`` left
10:58
sena_kun left
11:38
Ven`` joined
11:49
farcas1982regreg joined
11:55
MasterDuke joined
12:15
farcas1982regreg left
12:17
farcas1982regreg joined
|
|||
MasterDuke | . | 12:21 | |
tellable6 | 2020-05-01T10:41:04Z #moarvm <lizmat> MasterDuke: smaller commits bisect better :-) | ||
2020-05-01T10:41:29Z #moarvm <lizmat> MasterDuke: especially related to hard to trace bugs in the JIT | |||
MasterDuke | lizmat: yeah, i usually do a commit per op. but i'm going to do a PR for a bunch of them | 12:22 | |
12:41
pamplemousse joined
12:57
sena_kun joined
12:58
Altai-man_ left
13:19
farcas1982regreg left
14:08
farcas1982regreg joined
14:56
Altai-man_ joined
14:58
sena_kun left
16:42
Ven`` left
16:57
sena_kun joined
16:59
Altai-man_ left
17:01
zakharyas left
|
|||
nine | MasterDuke: where do you get that MVMString from if it's not a register? Mind that the GC may invalidate that pointer, so it's usually not a good idea to put that pointer directly into the generated code. | 17:34 | |
MasterDuke | nine: gist.github.com/MasterDuke17/f7907...3ed602fd8a | 17:54 | |
nine | MasterDuke: ok, this particular string seems safe | 18:08 | |
jnthn | That's risky without a check that the point is in gen2 | ||
*pointer | |||
The typical way would be to stick it in a spesh slot and load that | 18:09 | ||
Those get GC-marked | |||
MasterDuke | i based it off of github.com/MoarVM/MoarVM/blob/mast...2282-L2306 does the first branch there have the same problem? | 18:13 | |
timotimo | looks to me like it only uses the string to call get_config_for and after that it's not used any more | 18:43 | |
MasterDuke | that's in the other branch | 18:45 | |
timotimo | you mean using hll_config? | 18:47 | |
MasterDuke | line 2293 goes directly to 2303 | ||
timotimo | that shouldn't be a problem, hlls are malloced and don't move | 18:48 | |
and shouldn't be freed either, i would hope | |||
MasterDuke | so hllize(for)? is ok, but what i did for getcurhllsym isn't? | 18:49 | |
timotimo | yeah, that's a VMString that will move, potentially, though shouldn't | 18:50 | |
MasterDuke | ah, ok | 18:55 | |
18:56
Altai-man_ joined
|
|||
MasterDuke | i don't know anything about sticking stuff in spesh slots. know of any examples off hand? | 18:56 | |
timotimo | i don't know if anything other than spesh/ can do that | 18:58 | |
18:59
sena_kun left
19:04
farcas1982regreg left
19:18
Kaiepi left
19:19
Kaiepi joined
19:22
Kaiepi left
19:35
pamplemousse left,
pamplemousse joined
19:58
Kaiepi joined
20:57
sena_kun joined
20:59
Altai-man_ left
21:32
pamplemousse left
21:34
Kaiepi left,
Kaiepi joined
21:35
Kaiepi left,
Kaiepi joined
21:48
farcas1982regreg joined
22:07
reportable6 left,
coverable6 left,
quotable6 left,
leedo left,
reportable6 joined,
coverable6 joined,
quotable6 joined
22:10
leedo joined
22:49
sena_kun left
|