Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Trig functions
Which of the built-in trig functions are fastest? slowest?
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Browser:
Firefox 115
Operating system:
Windows 8.1
Device Platform:
Desktop
Date tested:
one year ago
Benchmark engine:
Benchmark.js
atan
2K/s
cos
2K/s
asin
2K/s
acos
2K/s
tan
2K/s
sin
2K/s
atan2
26/s
View exact numbers
Test name
Executions per second
✓
atan
1,949 Ops/sec
cos
1,947 Ops/sec
asin
1,930 Ops/sec
acos
1,897 Ops/sec
tan
1,860 Ops/sec
sin
1,840 Ops/sec
atan2
26 Ops/sec
Script Preparation code:
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]); }