I'm using Math.ceil( Math.abs( x ) )
inside a loop.
Can anyone realize any optimization for this operation? (Bitwise or what?)
You are welcome to benchmark at jsperf.com
See Question&Answers more detail:osI'm using Math.ceil( Math.abs( x ) )
inside a loop.
Can anyone realize any optimization for this operation? (Bitwise or what?)
You are welcome to benchmark at jsperf.com
See Question&Answers more detail:osMath.abs doesn't get simpler according to webkit JavaScriptCore
case MathObjectImp::Abs:
result = ( arg < 0 || arg == -0) ? (-arg) : arg;
However ceil uses C's ceil function
case MathObjectImp::Ceil:
result = ::ceil(arg);
so testing on JSpref
http://jsperf.com/math-ceil-vs-bitwise
bitwise is faster
testing @orangedog's answer http://jsperf.com/math-ceil-vs-bitwise/2 Math.ceil is faster
So I guess your best choice is:
var n = Math.abs(x);
var f = (n << 0),
f = f == n ? f : f + 1;