github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
patrickz .tell jnthn I'd be grateful for a quick heads up if these findings match your observations. I created a pull request and added you as reviewer. 00:02
yoleaux patrickz: I'll pass your message to jnthn.
Geth MoarVM/more-pea: 10 commits pushed by (Jonathan Worthington)++
review: github.com/MoarVM/MoarVM/compare/4...6a0b127172
14:06
jnthn rebase :)
yoleaux 15 Apr 2019 23:58Z <patrickz> jnthn: I attempted a fix for the runners in the build dir not working. What I found out: They were dependent on CWD and only worked with CWD = build dir. The install path was and still is included as a lib dir in those runners, because they need NQP which is located in the same dir. I changed the include order though, so the files in the build dir are preferred.
15 Apr 2019 23:58Z <patrickz> jnthn: I put the changes in github.com/patzim/rakudo/tree/fix-build-runners
00:02Z <patrickz> jnthn: I'd be grateful for a quick heads up if these findings match your observations. I created a pull request and added you as reviewer.
jnthn ooh, I should check that :) 14:07
Geth MoarVM/more-pea: ac9fa0655e | (Jonathan Worthington)++ | src/core/interp.c
Add interpretation of some new unboxed bigint ops
14:44
MoarVM/more-pea: cbe7ff1646 | (Jonathan Worthington)++ | 2 files
JIT the new unboxed big integer operations
jnthn Neat, given the program: 14:48
my $x = 64; 14:49
my int $o;
for ^20_000_000 {
my int $i = ($x + 1) * 2;
$o = $o + $i;
}
say $o;
It eliminates the Int allocations for the + and * results
Meaning that we get rid of all of the allocations
(Once spesh has run)
And thus run in under half the time 14:50
Still some work to do on this stuff, but nice to see it can have some benefit :) 14:51
patrickb ls 14:53
ugh ww
jnthn Though making this really useful in practical cases will mean making our EA really be PEA :) 14:54
tadzik nEAt 15:11
jnthn Also, if I translate that into Perl 5 (get rid of int, etc.) then Perl 6 seems to run it 3 times faster; note that the + and the * are big integer upgrading operations (though in this case never need to upgrade, but we still must check...) producing boxed Ints, which is what we now optimize away. 15:17
So that's fairly promising
tadzik that's really good:)
Guest2775 libuv 1.28, github.com/libuv/libuv/blob/v1.x/ChangeLog 15:18
jnthn: will your current work be able to improve R#1421 ? 15:19
synopsebot R#1421 [open]: github.com/rakudo/rakudo/issues/1421 [performance] Sieve of Eratosthenes 42x slower than Perl 5
jnthn Would at least help a bit, yes 15:29
jnthn Though it may already be faster than when that measurement was done :) 15:29