Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Chrome 125
Windows
Desktop
10 months ago
Test name Executions per second
1MB string comparison 160741.1 Ops/sec
2MB string comparison 47876.0 Ops/sec
10MB string comparison 1125.1 Ops/sec
Script Preparation code:
x
 
let s1MB = "0123456789".repeat(1000*100);
var strings1MB = Array.from(Array(20)).map(o=>s1MB + String.fromCharCode(32+~~(Math.random()*96)))
let s2MB = "0123456789".repeat(1000*200);
var strings2MB = Array.from(Array(20)).map(o=>s2MB + String.fromCharCode(32+~~(Math.random()*96)))
let s10MB = "0123456789".repeat(1000*1000);
var strings10MB = Array.from(Array(20)).map(o=>s10MB + String.fromCharCode(32+~~(Math.random()*96)))
Tests:
  • 1MB string comparison

     
    const s1 = strings1MB[~~(strings1MB.length*Math.random())];
    const s2 = strings1MB[~~(strings1MB.length*Math.random())];
    const b = s1 === s2;
  • 2MB string comparison

     
    const s1 = strings2MB[~~(strings2MB.length*Math.random())];
    const s2 = strings2MB[~~(strings2MB.length*Math.random())];
    const b = s1 === s2;
  • 10MB string comparison

     
    const s1 = strings10MB[~~(strings10MB.length*Math.random())];
    const s2 = strings10MB[~~(strings10MB.length*Math.random())];
    const b = s1 === s2;