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