function func() {
var x = 1;
var y = 3;
var w = x + y;
if (w != 4) {
// dead code
}
}
function func(a, b) {
var x;
var i = 300;
while (i--) {
x = a + b; // dead store
}
}
function sum() {
var a = [1, 2, 3, 4, 5];
var sum = 0.0;
// dead loop elimination
for (var i = 0; i < 5; i++) {
sum += a[i];
}
}
function cordicsincos() {
var X;
var Y;
var TargetAngle;
var CurrAngle;
var Step;
X = FIXED(AG_CONST); /* AG_CONST * cos(0) */
Y = 0; /* AG_CONST * sin(0) */
TargetAngle = FIXED(28.027);
CurrAngle = 0;
for (Step = 0; Step < 12; Step++) {
var NewX;
if (TargetAngle > CurrAngle) {
NewX = X - (Y >> Step);
Y = (X >> Step) + Y;
X = NewX;
CurrAngle += Angles[Step];
} else {
NewX = X + (Y >> Step);
Y = -(X >> Step) + Y;
X = NewX;
CurrAngle -= Angles[Step];
}
}
}

| Detailed Results | Average (ms) |
|---|---|
| IE8 | 3746 |
| Firefox 3.6.12 | 753 |
| Safari 5.0.2 | 328 |
| Firefox 4.0 Pre-Release Beta7 | 277 |
| Chrome 7.0 | 262 |
| Opera 10.63 | 246 |
| Opera 11 Alpha | 242 |
| Chrome 8.0 Beta | 233 |
| IE9 Platform Preview #7 | 216 |
Source: https://habr.com/ru/post/108355/
All Articles