Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Truncation Methods 3
Testing the various methods for truncating a number to an integer
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15
Browser:
Safari 26
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one month ago
Test name
Executions per second
Math.trunc(num)
184147.6 Ops/sec
Math.floor(num)
159632.3 Ops/sec
~~num
330565.4 Ops/sec
num | 0
235932.2 Ops/sec
num << 0
234137.5 Ops/sec
num >> 0
233974.6 Ops/sec
num >>> 0
335681.3 Ops/sec
Script Preparation code:
"use strict"; const arr = Array.from({length: 10000}, (function(){return Math.random()*1000}));
Tests:
Math.trunc(num)
"use strict"; let x = 0; for (let i=0, len=arr.length; i<len; i++) { x = Math.trunc(arr[i]); }
Math.floor(num)
"use strict"; let x = 0; for (let i=0, len=arr.length; i<len; i++) { x = Math.floor(arr[i]); }
~~num
"use strict"; let x = 0; for (let i=0, len=arr.length; i<len; i++) { x = ~~(arr[i]); }
num | 0
"use strict"; let x = 0; for (let i=0, len=arr.length; i<len; i++) { x = (arr[i]) | 0; }
num << 0
"use strict"; let x = 0; for (let i=0, len=arr.length; i<len; i++) { x = (arr[i]) << 0; }
num >> 0
"use strict"; let x = 0; for (let i=0, len=arr.length; i<len; i++) { x = (arr[i]) >> 0; }
num >>> 0
"use strict"; let x = 0; for (let i=0, len=arr.length; i<len; i++) { x = (arr[i]) >>> 0; }