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:03
reportable6 joined
01:13
japhb left
|
|||
MasterDuke | ooh, i think i have a relatively simple change that speeds up startup/deserialization. not by a whole lot of wallclock, but instructions reported by callgrind for `raku -e ''` do go down: as is, with MVM_SPESH_BLOCKING=1, and with MVM_SPESH_DISABLE=1 | 01:21 | |
we deserialize almost 90k VMArrays. in it's deserialize(), we loop over the number of elems, and switch based on the array type what we read. but the array type doesn't change per element, so it's a bit of code duplication, but just moving/copying the loop inside each case makes a difference | 01:26 | ||
with MVM_SPESH_DISABLE=1 we go from ~626k to ~623k instructions and with MVM_SPESH_BLOCKING=1 from ~1.135b to ~1.132b instructions | 01:31 | ||
01:34
japhb joined
|
|||
Geth | MoarVM: MasterDuke17++ created pull request #1738: Speedup VMArray's deserialize()... |
02:17 | |
Voldenet | nine: and high level code will require some additional allocations which will increase startup time, it's a good tradeoff though | 03:48 | |
MasterDuke: I've read some blogpost about rust doing 2x more instructions than C code in the same time and vtune revealed that cpu itself was able to optimize it very well, keep that in mind | 03:59 | ||
04:29
linkable6 left,
evalable6 left
04:30
evalable6 joined
04:31
linkable6 joined
|
|||
Woodi | "everything is a first class object" - do that means that it need to be created via mop or can be just loaded or allocated in ready shape from C ? what exactly are unavoidable costs ? becouse years flys... | 04:40 | |
also got thinking: benchmarks show nqp and rakudo is more costly - so maybe there things need to be optimized ? like in startup path using only primitive types like native arrays instead of hashes, uint64_ counters instead of packed numbers, etc ? | 04:42 | ||
and removing things that keep allocating and deallocating on startup... | 04:44 | ||
06:00
reportable6 left
06:03
reportable6 joined
07:03
bloatable6 left,
notable6 left,
sourceable6 left,
greppable6 left,
committable6 left,
benchable6 left,
bisectable6 left,
shareable6 left,
unicodable6 left,
squashable6 left,
quotable6 left,
coverable6 left,
reportable6 left,
releasable6 left,
nativecallable6 left,
statisfiable6 left,
evalable6 left,
tellable6 left,
linkable6 left,
coverable6 joined,
evalable6 joined,
sourceable6 joined
07:04
statisfiable6 joined,
releasable6 joined,
reportable6 joined,
tellable6 joined,
notable6 joined,
bisectable6 joined,
nativecallable6 joined,
committable6 joined,
linkable6 joined,
benchable6 joined
07:05
greppable6 joined,
shareable6 joined,
unicodable6 joined,
quotable6 joined
07:06
bloatable6 joined,
squashable6 joined
07:38
sena_kun joined
|
|||
timo1 | the majority of our classes get their layout, i.e. fields and attributes and such, deserialized cheaply, not created with MOP calls during startup | 08:12 | |
i don't know what you mean by packed numbers | 08:13 | ||
nine | probably boxed numbers | 08:17 | |
timo1 | ah | ||
08:25
harrow left
08:52
harrow joined
10:30
sena_kun left
12:00
reportable6 left,
reportable6 joined
14:37
epony left
14:44
epony joined
18:00
reportable6 left
18:01
reportable6 joined
18:36
sena_kun joined
20:17
bisectable6 left,
bloatable6 left,
notable6 left,
nativecallable6 left,
committable6 left,
statisfiable6 left,
tellable6 left,
sourceable6 left,
shareable6 left,
unicodable6 left,
releasable6 left,
benchable6 left,
greppable6 left,
reportable6 left,
evalable6 left,
squashable6 left,
coverable6 left,
linkable6 left
20:18
squashable6 joined,
sourceable6 joined,
greppable6 joined,
reportable6 joined,
bisectable6 joined,
evalable6 joined,
releasable6 joined,
bloatable6 joined
20:19
benchable6 joined,
unicodable6 joined,
coverable6 joined,
notable6 joined,
shareable6 joined,
linkable6 joined,
tellable6 joined,
committable6 joined
20:20
nativecallable6 joined,
statisfiable6 joined
22:09
sena_kun left
|