Test name | Executions per second |
---|---|
Conditional comparison | 3606998.0 Ops/sec |
Bitwise comparison | 2846421.8 Ops/sec |
Other test | 2385217.0 Ops/sec |
Other test 2 | 2833298.5 Ops/sec |
Other test 3 | 2834286.8 Ops/sec |
Other test 4 | 3475396.2 Ops/sec |
var width = 480;
var halfWidth = width >> 1;
var invertedHalfWidth = 1 / halfWidth;
var xPos = Math.random() * width;
var xQuadLeft = xPos < halfWidth ? 0 : 1;
var xPos = Math.random() * width;
var diff = xPos ^ halfWidth;
diff |= diff >> 1;
diff |= diff >> 2;
diff |= diff >> 4;
diff |= diff >> 8;
diff |= diff >> 16;
diff &= ~(diff >> 1) | 0x80000000;
diff &= (xPos ^ 0x80000000) & (halfWidth ^ 0x7fffffff);
var xQuad = !!diff;
var xPos = Math.random() * width;
var xQuad = xPos ^ halfWidth && (
!(halfWidth ^ 0) ||
( (xPos / halfWidth) | 0 )
);
var xPos = Math.random() * width;
var xQuad = xPos == width ? 1 : ( ( xPos * invertedHalfWidth ) | 0 );
var xPos = Math.random() * width;
var xQuad = xPos == width ? 1 : ~~( xPos * invertedHalfWidth );
var xPos = Math.random() * width;
var xQuad = ~~( xPos * invertedHalfWidth );