Script Preparation code:
x
 
var N = 1000000;
var x = new Float32Array(N);
var y = new Float32Array(N);
var theta = new Float32Array(N);
for (var i = 0; i < N; ++i) {
    x[i] = 100* Math.random();
    y[i] = 100* Math.random();
}
for (var i = 0; i < N; ++i) {
    theta[i] = 2 * Math.PI * Math.random();
}
Tests:
  • sin

     
    var fn = Math.sin;
    for (var i = 0; i < N; ++i) { fn(theta[i]); }
  • cos

     
    var fn = Math.cos;
    for (var i = 0; i < N; ++i) { fn(theta[i]); }
  • tan

     
    var fn = Math.tan;
    for (var i = 0; i < N; ++i) { fn(theta[i]); }
  • asin

     
    var fn = Math.asin;
    for (var i = 0; i < N; ++i) { fn(x[i]); }
  • acos

     
    var fn = Math.acos;
    for (var i = 0; i < N; ++i) { fn(x[i]); }
  • atan

     
    var fn = Math.atan;
    for (var i = 0; i < N; ++i) { fn(x[i]); }
  • atan2

     
    var fn = Math.atan;
    for (var i = 0; i < N; ++i) { fn(x[i], y[i]); }
  • division

     
    for (var i = 0; i < N; ++i) { i/5 }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    sin
    cos
    tan
    asin
    acos
    atan
    atan2
    division

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Chrome 119 on Windows
View result in a separate tab
Test name Executions per second
sin 12.4 Ops/sec
cos 12.7 Ops/sec
tan 12.5 Ops/sec
asin 12.3 Ops/sec
acos 12.4 Ops/sec
atan 12.6 Ops/sec
atan2 8.1 Ops/sec
division 24.6 Ops/sec