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.
MasterDuke ugh, doing things with the CI pipelines always seems like such a slog 04:51
timo1 big sigh, thought i found an amazing optimization and the improved code barely runs 16:23
i was hoping for thousands 16:25
1.8k times during core setting compilation 16:28
0 times during raku empty program compilation 16:29
lizmat I'll take core setting compilation improvements any day :-) 16:41
timo1 uptime 17:01
can you reliably measure improvements? 17:05
i found a few more calls to the optimized thing between the sofa cushions
now i got to 8460 times during core setting compilation 17:06
13k 17:14
Geth MoarVM/specialcase_genarate_dispatch_single_arg: 24a49c1f9a | (Timo Paulssen)++ | 2 files
create single-argument versions of dispatch_* op generators

this lets us avoid creating an nqp::list with just one argument in some spots in both nqp and rakudo, and these simpler versions end up being called about 13k times during core setting compilation
17:20
nine Does that make a measurable difference? 17:21
timo1 i am on a machine where measuring reliably is very much not easy
i've pushed a branch for all three repos, if lizmat wants to, or if you want to do some actual measurements, that would be lovely 17:23
i'm thinking this may cut one or two gc runs off of core setting compile, too?
i have to go afk now, so can't do my own measurements for this reason also :( 17:24
nine jnthn: I may have hit a RakuAST design issue that I can't solve on my own for the first time. 17:59
timo1 nine: you think the difference should be negligible? 18:08
i guess since it's in nqp code rather than raku code the for loop is a little cheaper, and a nqp::list is cheaper than a List or Array
Woodi timo1: is it good ? other have ', $op0, str $op1,': dispatch_v1', sub ($frame, str $op0, $op1, $arg-index) { 18:36
btw. in what C version is Moar written ? C99, C11 ? 18:37
nine C99 18:38
Woodi ah, k 18:40
nine MSVC is still the limiting factor. I'm glad we could at least move away from C89 18:42
Woodi MS still develops MS C compiler or just C++ ? but C99 is nice, not magical 18:46
and on what cpus Moar run ? x86, amd, power somethink other ? 18:47
s/amd/arm/ 18:48
btw. Gentoo moved to clang
nine At least x86_64, i586, aarch64, armv7l, ppc64, ppc64le, s390x and riscv64. I have also run it on MIPS, but not recently 18:53
japhb That's actually better than I was expecting. 22:24