single-char2int

Benchmark created by tpetry on


Preparation HTML

<script>
  var c0 = '0';
  var c1 = '1';
  var c2 = '2';
  var c3 = '3';
  var c4 = '4';
  var c5 = '5';
  var c6 = '6';
  var c7 = '7';
  var c8 = '8';
  var c9 = '9';
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
c - 0
var int0 = c0 - 0;
var int1 = c1 - 0;
var int2 = c2 - 0;
var int3 = c3 - 0;
var int4 = c4 - 0;
var int5 = c5 - 0;
var int6 = c6 - 0;
var int7 = c7 - 0;
var int8 = c8 - 0;
var int9 = c9 - 0;
ready
Number(c)
var int0 = Number(c0);
var int1 = Number(c1);
var int2 = Number(c2);
var int3 = Number(c3);
var int4 = Number(c4);
var int5 = Number(c5);
var int6 = Number(c6);
var int7 = Number(c7);
var int8 = Number(c8);
var int9 = Number(c9);
ready
parseInt(c)
var int0 = parseInt(c0);
var int1 = parseInt(c1);
var int2 = parseInt(c2);
var int3 = parseInt(c3);
var int4 = parseInt(c4);
var int5 = parseInt(c5);
var int6 = parseInt(c6);
var int7 = parseInt(c7);
var int8 = parseInt(c8);
var int9 = parseInt(c9);
ready
parseInt(c, 10)
var int0 = parseInt(c0, 10);
var int1 = parseInt(c1, 10);
var int2 = parseInt(c2, 10);
var int3 = parseInt(c3, 10);
var int4 = parseInt(c4, 10);
var int5 = parseInt(c5, 10);
var int6 = parseInt(c6, 10);
var int7 = parseInt(c7, 10);
var int8 = parseInt(c8, 10);
var int9 = parseInt(c9, 10);
ready
~~c
var int0 = ~~c0;
var int1 = ~~c1;
var int2 = ~~c2;
var int3 = ~~c3;
var int4 = ~~c4;
var int5 = ~~c5;
var int6 = ~~c6;
var int7 = ~~c7;
var int8 = ~~c8;
var int9 = ~~c9;
ready
hashmap[c]
var hashmap = {
  '0': 0,
  '1': 1,
  '2': 2,
  '3': 3,
  '4': 4,
  '5': 5,
  '6': 6,
  '7': 7,
  '8': 8,
  '9': 9
};

var int0 = hashmap[c0];
var int1 = hashmap[c1];
var int2 = hashmap[c2];
var int3 = hashmap[c3];
var int4 = hashmap[c4];
var int5 = hashmap[c5];
var int6 = hashmap[c6];
var int7 = hashmap[c7];
var int8 = hashmap[c8];
var int9 = hashmap[c9];
var int9 = hashmap[c9];
ready
switch(c)
// very long :-(
switch(c0) {
  case '0': var int0 = 0; break;
  case '1': var int0 = 1; break;
  case '2': var int0 = 2; break;
  case '3': var int0 = 3; break;
  case '4': var int0 = 4; break;
  case '5': var int0 = 5; break;
  case '6': var int0 = 6; break;
  case '7': var int0 = 7; break;
  case '8': var int0 = 8; break;
  case '9': var int0 = 9; break;
}
switch(c1) {
  case '0': var int1 = 0; break;
  case '1': var int1 = 1; break;
  case '2': var int1 = 2; break;
  case '3': var int1 = 3; break;
  case '4': var int1 = 4; break;
  case '5': var int1 = 5; break;
  case '6': var int1 = 6; break;
  case '7': var int1 = 7; break;
  case '8': var int1 = 8; break;
  case '9': var int1 = 9; break;
}
switch(c2) {
  case '0': var int2 = 0; break;
  case '1': var int2 = 1; break;
  case '2': var int2 = 2; break;
  case '3': var int2 = 3; break;
  case '4': var int2 = 4; break;
  case '5': var int2 = 5; break;
  case '6': var int2 = 6; break;
  case '7': var int2 = 7; break;
  case '8': var int2 = 8; break;
  case '9': var int2 = 9; break;
}
switch(c3) {
  case '0': var int3 = 0; break;
  case '1': var int3 = 1; break;
  case '2': var int3 = 2; break;
  case '3': var int3 = 3; break;
  case '4': var int3 = 4; break;
  case '5': var int3 = 5; break;
  case '6': var int3 = 6; break;
  case '7': var int3 = 7; break;
  case '8': var int3 = 8; break;
  case '9': var int3 = 9; break;
}
switch(c4) {
  case '0': var int4 = 0; break;
  case '1': var int4 = 1; break;
  case '2': var int4 = 2; break;
  case '3': var int4 = 3; break;
  case '4': var int4 = 4; break;
  case '5': var int4 = 5; break;
  case '6': var int4 = 6; break;
  case '7': var int4 = 7; break;
  case '8': var int4 = 8; break;
  case '9': var int4 = 9; break;
}
switch(c5) {
  case '0': var int5 = 0; break;
  case '1': var int5 = 1; break;
  case '2': var int5 = 2; break;
  case '3': var int5 = 3; break;
  case '4': var int5 = 4; break;
  case '5': var int5 = 5; break;
  case '6': var int5 = 6; break;
  case '7': var int5 = 7; break;
  case '8': var int5 = 8; break;
  case '9': var int5 = 9; break;
}
switch(c6) {
  case '0': var int6 = 0; break;
  case '1': var int6 = 1; break;
  case '2': var int6 = 2; break;
  case '3': var int6 = 3; break;
  case '4': var int6 = 4; break;
  case '5': var int6 = 5; break;
  case '6': var int6 = 6; break;
  case '7': var int6 = 7; break;
  case '8': var int6 = 8; break;
  case '9': var int6 = 9; break;
}
switch(c7) {
  case '0': var int7 = 0; break;
  case '1': var int7 = 1; break;
  case '2': var int7 = 2; break;
  case '3': var int7 = 3; break;
  case '4': var int7 = 4; break;
  case '5': var int7 = 5; break;
  case '6': var int7 = 6; break;
  case '7': var int7 = 7; break;
  case '8': var int7 = 8; break;
  case '9': var int7 = 9; break;
}
switch(c8) {
  case '0': var int8 = 0; break;
  case '1': var int8 = 1; break;
  case '2': var int8 = 2; break;
  case '3': var int8 = 3; break;
  case '4': var int8 = 4; break;
  case '5': var int8 = 5; break;
  case '6': var int8 = 6; break;
  case '7': var int8 = 7; break;
  case '8': var int8 = 8; break;
  case '9': var int8 = 9; break;
}
switch(c9) {
  case '0': var int9 = 0; break;
  case '1': var int9 = 1; break;
  case '2': var int9 = 2; break;
  case '3': var int9 = 3; break;
  case '4': var int9 = 4; break;
  case '5': var int9 = 5; break;
  case '6': var int9 = 6; break;
  case '7': var int9 = 7; break;
  case '8': var int9 = 8; break;
  case '9': var int9 = 9; break;
}
ready

Revisions

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