StringSortableInts (v3)

Revision 3 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Setup

var data = [];
    
    var size = 200;
    
    for (var i=0; i<size; i++)
       data.push(Math.floor((Math.random()*1000000)+1));

Test runner

Ready to run.

Testing in
TestOps/sec
2N multiplication
var length = 0;

for (index in data) {
   var thisLength = data[index].toString().length;
   if (thisLength > length)
      length = thisLength;
}
var mult = Math.pow(10, length);
var output = [];
for (index in data) {
   output.push((data[index] + mult).toString().substring(1));
}
ready
2N padding
var length = 0;

for (index in data) {
   var thisLength = data[index].toString().length;
   if (thisLength > length)
      length = thisLength;
}
var pad = '';
for (var i=0; i<length; i++)
   pad = pad + '0';
var output = [];
for (index in data) {
   output.push((pad + data[index].toString()).slice(-length));
}
ready
other
var length = 0;

for (index in data) {
   var thisLength = data[index].toString().length;
   if (thisLength > length)
      length = thisLength;
}

var output = [];
for (index in data) {
   var thisOne = data[index].toString();
   var thisLength = thisOne.length;
   for (var i = 0; i < length - thisLength; i++)
      thisOne = '0' + thisOne.toString();
   output.push(thisOne);
}
ready

Revisions

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