Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:127.0) Gecko/20100101 Firefox/127.0
Firefox 127
Mac OS X 10.15
Desktop
9 months ago
Test name Executions per second
1MB string comparison 123834544.0 Ops/sec
2MB string comparison 95996608.0 Ops/sec
10MB string comparison 13264.3 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;