Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes. Set by lizmat on 24 May 2021. |
|||
00:00
reportable6 left
00:01
reportable6 joined
01:57
linkable6 left
01:58
linkable6 joined
|
|||
MasterDuke | interesting. with MVM_SPESH_DISABLE=1, `my int $sum = 0; for ^100_000_000 -> int $i { $sum += $i }; say now - INIT now; say $sum;` takes the same amount of time as with uint, ~12.5s | 02:50 | |
however, with MVM_JIT_DISABLE=1, `int` takes ~2s and `uint` takes ~6s | 02:51 | ||
with nothing disabled, `int` takes ~0.6s and `uint` takes ~5.7s | 02:52 | ||
so the big difference comes from spesh | |||
heh. i just went through src/spesh/*.c and made a whole bunch of *_u additions. absolutely no change... | 03:35 | ||
well, "whole bunch" might be an exaggeration, but i was hoping to see something... | 03:36 | ||
hm. in a spesh log: | 03:45 | ||
279977 # [002] expr bail: Cannot get template for: param_rp_u | |||
279978 # [000] bailed argument spesh: expected arg flag 0 of type 2 to be uint or box a uint; type at position was null type tuple | |||
279979 param_rp_u r7(1), liti16(0) | |||
type 2 is MVM_CALLSITE_ARG_INT | |||
ugh, trying to find the difference between two spesh logs is not terribly easy | 04:21 | ||
timo1: ^^^ seems like something you might have an intuition about | 04:39 | ||
06:00
reportable6 left
06:01
reportable6 joined
07:41
epony left
08:32
epony joined
09:19
sena_kun joined
|
|||
timo1 | so we are trying to specialize this method to work with an int, but the code asks for a uint, and arg spesh isn't happy about that | 09:29 | |
in the case of "want uint, have int" we can probably generate a "get int" + "convert to uint" in argument spesh | 09:30 | ||
10:13
sena_kun left
11:00
epony left
11:12
sena_kun joined
11:13
epony joined
12:00
reportable6 left
12:02
reportable6 joined
12:07
nebuchad` is now known as nebuchadnezzar
12:59
sena_kun left
13:44
sena_kun joined
14:30
epony left
14:54
squashable6 left
14:57
squashable6 joined
|
|||
ugexe | MasterDuke: chatgpt is actually sort of useful for examples and querying some of this long path stuff fwiw -- gist.github.com/ugexe/bff0f9a20e3c...72c069bd86 | 15:50 | |
16:42
rypervenche left
18:00
reportable6 left
18:01
reportable6 joined
|
|||
nine | MasterDuke: it's possible that we actually do need it, but I didn't come across a case that made this need clear. | 21:21 | |
21:59
epony joined
22:24
sena_kun left
23:01
lizmat_ joined
23:02
Geth left
23:04
lizmat left
23:26
lizmat_ left,
lizmat joined
|