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

JavaScript performance comparison

Revision 52 of this test case created by

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var mystring = 'okay.this.is.a.string';
  var reg = new RegExp(".","gm");
  
  window.replaceAll = function( _str, token, newToken, ignoreCase ) {
      var _token;
      var str = _str;
      var i = -1;
  
      if ( typeof token === "string" ) {
  
          if ( ignoreCase ) {
  
              _token = token.toLowerCase();
  
              while( (
                  i = str.toLowerCase().indexOf(
                      token, i >= 0 ? i + newToken.length : 0
                  ) ) !== -1
              ) {
                  str = str.substring( 0, i ) +
                      newToken +
                      str.substring( i + token.length );
              }
  
          } else {
              return _str.split( token ).join( newToken );
          }
  
      }
  return str;
  }

};
</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
replaceAll
result = replaceAll(mystring, '.', ' ');
pending…
.replace(new RegExp(".","gm")," ")
result = mystring.replace(reg," ");
pending…
.split('.').join(' ')
result = mystring.split('.').join(' ');
pending…
replaceAll
result = replaceAll(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