Script Preparation code:
AخA
 
var testArray = Array.from(Array(1000).keys()).map(i => new Date('2020-01-01 00:00:00.' + i).toString());
var testString = testArray.join(',');
var objectHash = testArray.reduce((acc, key) => {acc[key] = true; return acc;},{});
var testSet = new Set(testArray);
Tests:
  • Array.includes

     
    Array.from(Array(1000).keys()).map(i => testArray.includes(new Date('2020-01-01 00:00:00.' + i).toString()));
  • String.includes

    x
     
    Array.from(Array(1000).keys()).map(i => testString.includes(new Date('2020-01-01 00:00:00.' + i).toString()));
  • Object Hash-map

     
    Array.from(Array(1000).keys()).map(i => !!objectHash[new Date('2020-01-01 00:00:00.' + i).toString()]);
  • ES6 Set

     
    Array.from(Array(1000).keys()).map(i => testSet.has(new Date('2020-01-01 00:00:00.' + i).toString()));
  • Array.indexOf

     
    Array.from(Array(1000).keys()).map(i => testArray.indexOf(new Date('2020-01-01 00:00:00.' + i).toString()) > -1);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array.includes
    String.includes
    Object Hash-map
    ES6 Set
    Array.indexOf

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Chrome 116 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Array.includes 1072.4 Ops/sec
String.includes 1057.2 Ops/sec
Object Hash-map 984.0 Ops/sec
ES6 Set 981.1 Ops/sec
Array.indexOf 1007.5 Ops/sec