sortFirstChar

JavaScript performance comparison

Test case created by atSetKey

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var arr=['a','b','c','d'];
   
        function moreChars(arr1,arr2){
            var len1=arr1.length,len2=arr2.length,arr3=[];
            for(var i=0;i<len1;i+=1){
                for(var j=0;j<len2;j+=1){
                    arr3.push(arr1[i]+arr2[j])
                }
            }
            return arr3;
        }
   
        function randomArr(inArr){
            var arr=inArr,len=arr.length,buf,random1,random2;
            for(var i=0;i<len;i+=1){
                random1=Math.floor(Math.random()*len);
                random2=Math.floor(Math.random()*len);
                buf=arr[random1];
                arr[random1]=arr[random2];
                arr[random2]=buf;
            }
            return arr;
        };
   
        var charsArr=randomArr(randomArr(moreChars(moreChars(moreChars(moreChars(moreChars(arr,arr),arr),arr),arr),arr)));
   
        function sortFirstChar_1(inArr){
            var arr=inArr,len=arr.length;
            var buf;
            for(var i=0;i<len-1;i+=1){
                for(var j=i+1;j<len;j+=1){
                    if(arr[i][0]>arr[j][0]){buf=arr[j];arr[j]=arr[i];arr[i]=buf;}
                }
            }
    return arr;
        }
   
    function sortFirstChar_2(inArr){
            var arr=inArr,len=arr.length,len2=len-1;
            var buf;
            for(var i=0;i<len2;i+=1){
                for(var j=i+1;j<len;j+=1){
                    if(arr[i][0]>arr[j][0]){buf=arr[j];arr[j]=arr[i];arr[i]=buf;}
                }
            }
    return arr;
        }
   
    function sortFirstChar_3(inArr){
            var arr=inArr,len=arr.length,len2=len-1;
            var buf;
            for(var i=0;i<len2;i+=1){
                for(var j=i+1;j<len;j+=1){
                    if(arr[i].charCodeAt(0)>arr[j][0].charCodeAt(0)){buf=arr[j];arr[j]=arr[i];arr[i]=buf;}
                }
            }
    return arr;
        }
   
   
   
   
};
</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
sortFirstChar_1
var ff=sortFirstChar_1(charsArr);
pending…
sortFirstChar_2
var ff=sortFirstChar_2(charsArr);
pending…
sortFirstChar_3
var ff=sortFirstChar_2(charsArr);
pending…

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

Compare results of other browsers

0 comments

Add a comment