trigetry
Date tested:
one year ago
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 16_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/111.0.5563.101 Mobile/15E148 Safari/604.1
Test name
Executions per second
q
8973225.0 Ops/sec
native
6358890.0 Ops/sec
s
8395858.0 Ops/sec
Benchmark definition (click to collapse):
Script Preparation code:
function sines(x) { if (x < -3.14159265) x += 6.28318531; else if (x > 3.14159265) x -= 6.28318531; if (x < 0) return 1.27323954 * x + .405284735 * x * x; else return 1.27323954 * x - 0.405284735 * x * x; } function coses(x) { x += 1.57079632; if (x > 3.14159265) x -= 6.28318531; if (x < 0) return 1.27323954 * x + 0.405284735 * x * x else return 1.27323954 * x - 0.405284735 * x * x; } function qMafsSin(x) { var sin; if (x < -3.14159265) x += 6.28318531; else if (x > 3.14159265) x -= 6.28318531; if (x < 0) { sin = 1.27323954 * x + .405284735 * x * x; if (sin < 0) sin = .225 * (sin *-sin - sin) + sin; else sin = .225 * (sin * sin - sin) + sin; } else { sin = 1.27323954 * x - 0.405284735 * x * x; if (sin < 0) sin = .225 * (sin *-sin - sin) + sin; else sin = .225 * (sin * sin - sin) + sin; } return sin; } function qMafsCos(x) { var cos; x += 1.57079632; if (x > 3.14159265) x -= 6.28318531; if (x < 0) { cos = 1.27323954 * x + 0.405284735 * x * x; if (cos < 0) cos = .225 * (cos *-cos - cos) + cos; else cos = .225 * (cos * cos - cos) + cos; } else { cos = 1.27323954 * x - 0.405284735 * x * x; if (cos < 0) cos = .225 * (cos *-cos - cos) + cos; else cos = .225 * (cos * cos - cos) + cos; } return cos; }
Tests:
q
sines(10); coses(10);
native
Math.sin(10); Math.cos(10);
s
qMafsSin(10); qMafsCos(10);
Open this result on MeasureThat.net