.replace() vs. .split().join() vs .replaceAll()

JavaScript performance comparison

Revision 72 of this test case created by

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var mystring = 'okay.this.is.a.string';

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
.replace(/\./g,' ')
result = mystring.replace(/\./g,' ');
pending…
.replace(new RegExp(".","gm")," ")
result = mystring.replace(new RegExp(".","gm")," ");
pending…
.split('.').join(' ')
result = mystring.split('.').join(' ');
pending…
findReplaceMultiple
function strReplaceAll(s, stringToFind, stringToReplace) {
    if (stringToFind === stringToReplace) return s;
    for (var index = s.indexOf(stringToFind); index !== -1; index = s.indexOf(stringToFind))
        s = s.replace(stringToFind, stringToReplace);
    return s;
}

result = strReplaceAll(mystring, '.', ' ');
pending…
replace_long
function replace_long(oldS,newS,fullS) {
   var fullS = fullS != null ? fullS.toString() : '',
      i = 0;

   while (i < fullS.length) {
      if (fullS.substring && fullS.substring(i,i+oldS.length) == oldS) {
         fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length);
         i += newS.length;
      } else {
         i++;
      }
   }
   return fullS;
}

result = replace_long(mystring, '.', ' ');
pending…

Compare results of other browsers

Revisions

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

0 Comments