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:
2 months ago
num >>> 0
336K/s
~~num
331K/s
num | 0
236K/s
num << 0
234K/s
num >> 0
234K/s
Math.trunc(num)
184K/s
Math.floor(num)
160K/s
View exact numbers
Test name
Executions per second
✓
num >>> 0
335,681 Ops/sec
~~num
330,565 Ops/sec
num | 0
235,932 Ops/sec
num << 0
234,138 Ops/sec
num >> 0
233,975 Ops/sec
Math.trunc(num)
184,148 Ops/sec
Math.floor(num)
159,632 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; }