string concat vs array join

JavaScript performance comparison

Revision 5 of this test case created by Rcdmk

Info

Test the performance difference between string concact and array join for a large (10,000) number of words.

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var words = ['this', 'is', 'a', 'test'];
   
    var text = words[0];
   
    var a = [words[0]];
    var b = [];
    var i;
   
    var text2;
};
</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
Concat
for(i = 1; i < 10000; ++i)
{
    text += ' ' + words[i & 3] + Math.random();
}

text2 = text;
 
pending…
Join
for(i = 1; i < 10000; ++i)
{
    a.push(' ',words[i & 3],Math.random());
}

text2 = a.join('');
 
pending…
Join without push()
for(i = 1; i < 10000; ++i)
{
    a[i] = ' ' + words[i & 3] + Math.random();
}

text2 = a.join('');
pending…
Join without space concat
for(i = 1; i < 10000; ++i)
{
    a[i] = words[i & 3] + Math.random();
}

text2 = a.join(' ');
pending…
Join without concat
for(i = 1; i < 10000; ++i)
{
    a[i] = words[i & 3]
    a[++i] = Math.random();
}

text2 = a.join(' ');
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