Script Preparation code:
x
 
// Purposely global
numbers = Array.from({length: 1e6}, () => Math.floor(Math.random() * 1e5))
function findMode(numbers) {
    let counted = numbers.reduce((acc, curr) => { 
        if (curr in acc) {
            acc[curr]++;
        } else {
            acc[curr] = 1;
        }
        return acc;
    }, {});
    let mode = Object.keys(counted).reduce((a, b) => counted[a] > counted[b] ? a : b);
    return mode;
}
function mostCommonNumber(numbers) {
    let map = new Map()
    for (let num of numbers) {
        map.set(num, (map.get(num) || 0) + 1)
    }
    let mostCommonNumber = NaN
    let maxCount = -1
    for (let [num, count] of map.entries()) {
        if (count > maxCount) {
            maxCount = count
            mostCommonNumber = num
        }
    }
    return mostCommonNumber
}
Tests:
  • findMode

     
    findMode(numbers)
  • mostCommonNumber

     
    mostCommonNumber(numbers)
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    findMode
    mostCommonNumber

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 7 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Chrome 61 on Windows
View result in a separate tab
Test name Executions per second
findMode 12.0 Ops/sec
mostCommonNumber 7.1 Ops/sec