best of string to number conversion (v20)

Revision 20 of this benchmark created by Hiaru on


Description

Add bitwise, working on Firefox 36, based on revision 13

Setup

var abc = ['001.00', '002.00', '003.00', '004.00', '005.00', '006.00', '007.00', '008.00', '009.00'];

Test runner

Ready to run.

Testing in
TestOps/sec
Number()
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = Number(abc[i]);
  if (!isNaN(converted))
    result += converted;
}
ready
parsetInt()
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = parseInt(abc[i], 10);
  if (!isNaN(converted))
    result += converted;
}
ready
parseFloat()
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = parseFloat(abc[i]);
  if (!isNaN(converted))
    result += converted;
}
ready
implicit
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = +abc[i];
  if (!isNaN(converted))
    result += converted;
}
ready
Bitwse OR
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = 0 | abc[i];
  if (!isNaN(converted))
    result += converted;
}
ready
Bitwise XOR
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = 0 ^ abc[i];
  if (!isNaN(converted))
    result += converted;
}
ready
Bitwise NOT NOT
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = ~~ abc[i];
  if (!isNaN(converted))
    result += converted;
}
ready
Bitwise Left Shift
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = abc[i] << 0;
  if (!isNaN(converted))
    result += converted;
}
ready
Bitwise Right Shift
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = abc[i] >> 0;
  if (!isNaN(converted))
    result += converted;
}
ready
Bitwise Bitwise Right Shift
var result = 0,
  converted;
for (var i = 0, len = abc.length; i < len; ++i) {
  converted = abc[i] >>> 0;
  if (!isNaN(converted))
    result += converted;
}
ready

Revisions

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