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

JavaScript performance comparison

Revision 30 of this test case created

Info

A solution for replacement of strings.

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var mystring = 'okay.this.is.a.string';
    var dynamicRegex = new RegExp("\.", "gm");
    var staticRegex = /\./g;
};

Benchmark.prototype.teardown = function() {
    console.log(result);
};
</script>

Test runner

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

Java applet disabled.

Testing in unknown unknown
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…
Stored Dynamic Regex
result = mystring.replace(dynamicRegex, "_");
pending…
Stored static Regex
result = mystring.replace(staticRegex, "_");
pending…
String replace
result = mystring.replace('.', '_');
pending…
For-Loop-Self-Cutter
for (
  var i = 0, l = mystring.length, result = "";
  i < l;
  (result += (mystring[i] == "." ? "_" : mystring[i])) && i++
);
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. Here’s a list of current revisions for this page:

0 comments

Add a comment