In the wolverine example of nimbleSCR, pow is used 4 times in dbinomLocal_normal. This is apparently enough to cause a roughly 2x slowdown when run under nimble 1.0.1 compared to nimble 0.13.2.
I haven't timed pow vs pow_int individually, but switching nimble 1.0.1 to use pow in genCpp_processSpecificCalls.R causes the speed difference to disappear. And simply running dbinomLocal_normal under 1.0.1 vs. 0.13.2 shows a 2x speed difference, with the only difference in the generated C++ being pow vs. pow_int.
In the wolverine example of
nimbleSCR
,pow
is used 4 times indbinomLocal_normal
. This is apparently enough to cause a roughly 2x slowdown when run under nimble 1.0.1 compared to nimble 0.13.2.I haven't timed
pow
vspow_int
individually, but switching nimble 1.0.1 to usepow
ingenCpp_processSpecificCalls.R
causes the speed difference to disappear. And simply runningdbinomLocal_normal
under 1.0.1 vs. 0.13.2 shows a 2x speed difference, with the only difference in the generated C++ beingpow
vs.pow_int
.