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.
lizmat I've just stumbled on some dead code in NQP for base64 decoding, and traced this back to MoarVM github.com/MoarVM/MoarVM/blob/main...ion.c#L157 10:22
it has 2 TODOs there that might help in getting compilation faster 10:23
but they're a bit out of my comfort zone at, but maybe up MasterDuke's ally, or maybe Nicholas ? 10:24
and if the proposed opts don't help, remove the TODO :-)
in fact, I did one of the proposed opts in NQP before I realized I was looking at dead code 10:31
gist.github.com/lizmat/fadc1af577b...ae0eaff75f
maybe that could be helpful for setting this up in MoarVM 10:32
MAST creation is still about 15% of total compilation time 10:34
Voldenet re base64 arxiv.org/abs/1910.05109 github.com/WojciechMula/base64-avx512 13:36
I believe base64_encode/decode could be part of nqp ops 13:39
lizmat yeah, I was thinking the same just now: since it *is* apparently used internally 15:01
japhb What is it used *for*? 17:20
From context, I'm guessing MAST creation? Anything else?
MasterDuke . 21:18
lizmat: there are fast base64 libraries available, e.g., github.com/powturbo/Turbo-Base64 and github.com/aklomp/base64, but how much time of the MAST stage is the base64 ops? 21:19
huh. i just stuck a print in base64_(en|de)code and they didn't hit when building rakudo 22:14
i was kind of interested in experimenting with those base64 libraries, but i'm not sure what it would help 22:29
japhb Are you sure your version of MoarVM got used? 22:37
lizmat MasterDuke: if it is not getting called, maybe it's dead code :-) 22:51