Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Chrome 134
Windows
Desktop
one month ago
Test name Executions per second
string.replace 4464464.0 Ops/sec
regexp.matchAll 1400121.5 Ops/sec
regexp.exec 2547809.5 Ops/sec
Tests:
  • string.replace

    AخA
     
    const s = 'Apple  Apple  Apple  Apple  Apple';
    const r = new RegExp('(^|\\P{L})(Apple)($|\\P{L})', 'giu');
    s.replace(r, '*****');
  • regexp.matchAll

     
    const s = 'Apple  Apple  Apple  Apple  Apple';
    const r = new RegExp('(^|\\P{L})(Apple)($|\\P{L})', 'giu');
    const n = [];
    const matches = [...s.matchAll(r)];
    matches.forEach((match) => {
      // do something
      // n.push(match.index);
    });
  • regexp.exec

     
    const s = 'Apple  Apple  Apple  Apple  Apple';
    const r = new RegExp('(^|\\P{L})(Apple)($|\\P{L})', 'giu');
    const n = [];
    let execResults;
    while ((execResults = r.exec(s)) !== null) {
      // do something
      // n.push(execResults.index);
    }