Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Mathjs Performance
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Browser:
Chrome 135
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Native Arrow
18976.8 Ops/sec
Native Function
18965.5 Ops/sec
Native inline
44310.2 Ops/sec
Mathjs evaluate
95.3 Ops/sec
Mathjs compile
568.5 Ops/sec
HTML Preparation code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/12.2.0/math.min.js"></script>
Script Preparation code:
var nativearrow = (x, y, z) => x*x + y*y + z*z; var nativefunc = new Function('x', 'y', 'z', 'return x*x + y*y + z*z') var mathexpr = math.parse('x^2 + y^2 + z^2') var mathcomp = mathexpr.compile() var funcexpr = (x, y, z) => mathexpr.evaluate({x, y, z}) var funccomp = (x, y, z) => mathcomp.evaluate({x, y, z}) var N = 20
Tests:
Native Arrow
const out = [] for (let x = 0; x < N; x += 1) { for (let y = 0; y < N; y += 1) { for (let z = 0; z < N; z += 1) { out.push(nativearrow(x, y, z)) } } }
Native Function
const out = [] for (let x = 0; x < N; x += 1) { for (let y = 0; y < N; y += 1) { for (let z = 0; z < N; z += 1) { out.push(nativefunc(x, y, z)) } } }
Native inline
const out = [] for (let x = 0; x < N; x += 1) { for (let y = 0; y < N; y += 1) { for (let z = 0; z < N; z += 1) { out.push(x*x + y*y + z*z) } } }
Mathjs evaluate
const out = [] for (let x = 0; x < N; x += 1) { for (let y = 0; y < N; y += 1) { for (let z = 0; z < N; z += 1) { out.push(funcexpr(x, y, z)) } } }
Mathjs compile
const out = [] for (let x = 0; x < N; x += 1) { for (let y = 0; y < N; y += 1) { for (let z = 0; z < N; z += 1) { out.push(funccomp(x, y, z)) } } }