github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
Geth MoarVM: 8f6b2ac8b0 | (Zoffix Znet)++ | src/math/bigintops.c
Make big Int stringification 1.58x as fast

For Ints larger than 2⁶⁰ and only in base-10.
We do it by reducing the value by largest 10**n number that fits into a single mp_digit and doing so until our remaining number fits into a single mp_digit, at which point we continue ... (21 more lines)
00:15
MoarVM: 3740cd0bb9 | (Zoffix Znet)++ | src/math/bigintops.c
Clamp the value before we count its digits
MoarVM: 1d6562bfd6 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/math/bigintops.c
Merge pull request #984 from MoarVM/faster-Int-str

Make big Int stringification 1.58x as fast
travis-ci MoarVM build passed. Zoffix Znet 'Merge pull request #984 from MoarVM/faster-Int-str 00:35
travis-ci.org/MoarVM/MoarVM/builds/442448170 github.com/MoarVM/MoarVM/compare/9...6562bfd66a
dogbert2_ brrt: I'll test your branch when I get home from $work (at work I only have a 32 bit install) 09:39
dogbert2_ m: say 'ping' 13:18
camelia ping
dogbert2_ is this an old GC related problem? gist.github.com/dogbert17/c7e9b937...a957d4d62e 13:23
timotimo haven't seen bind_one_param explode like that yet 13:29
dogbert2_ could it be a missing MVM_ROOT? 13:30
timotimo it's possible 13:32
does changing flags like spesh and jit and such have an impact? 13:33
dogbert2_ I'm on 32 bit so the JIT is off the hook :)
but I'm quite certain that I got it to fail at least once whit MVM_SPESH_DISABLE=1 13:34
*with
dogbert17 brrt: trying to build MoarVM with your branch expr-jit-invoke failed for me. Got the message 'make: *** No rule to make target 'src/jit/nativecall.h', needed by 'src/main.o'. Stop.' 16:32
timotimo even with Configure.pl running? 16:35
if that's the case, it's probably just a line missing in Makefile.in
dogbert17 timotimo: I ran my usual 'perl Configure.pl --debug --prefix=../../install/' first 16:37
timotimo OK 16:47
then it probably misses the line in Makefile.in 16:48
nine timotimo: why would the profiler show 0 % jit of a routine despite the jit log clearly showing jit compilation? 17:49
timotimo it could be inlined into the caller routine and that could be bailed by some missing op 18:10
nine: can you find mention of the routine being inlined? 18:11
nine timotimo: no, which is an oddity in itself, considering that the routine is just method (uint16 $i) { nqp::writeuint(self, nqp::elems(self), $i, 2); } 18:29
Could it be because of the manual type setup here? github.com/MoarVM/MoarVM/blob/nqp-...es.nqp#L43 18:30
japhb nine: nameless?
japhb wonders if there's something in the profiler unhappy about the nameless routine 18:31
timotimo should be fine to have them nameless, the profiler ought to go by pointer values to identify things 20:17