split/join vs RegExp vs replaceAll (v47)

Revision 47 of this benchmark created on


Setup

var str1 = "Test test test abc test ... ";
    var strTest = [
      str1,
      str1 + str1 + str1 + str1 + str1,
      'Test',
      ''
    ];
    
    function replaceAll(str, search_str, rep_str) {
      if (~str.indexOf(search_str)) {
        var prev;
        do {
          prev = str;
        } while ((str = str.replace(search_str, rep_str)) !== prev);
      }
      return str;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
split & join
for (var i = 0; i < strTest.length; ++i)
  strTest[i].split('abc').join('');
ready
replace w/RegExp
for (var i = 0; i < strTest.length; ++i)
  strTest[i].replace(/abc/g, '');
ready
replaceAll while
for (var i = 0; i < strTest.length; ++i)
  replaceAll(strTest[i], 'abc', '');
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.