String pos speed test

by Ron Valstar

HTML

<span />

JavaScript

var $Body = $('body');
var $Span = $('span');
function trace(s) {
    try {
        window.console.log.apply(console, arguments);
        $Span.append(s+'<br/>');
    } catch (err) {}
}
function millis() {
    return new Date().getTime();
}
//////////

var s = 'abcdefghijklmnopqrstuvwxyz';
var a = s.split();
var c = 'c';
var y = 'y';
var l = 9999999;

trace(millis());

var t = millis();
for (var i=0;i<l;i++){
  s.indexOf(c);
}
trace('string indexof c '+(millis()-t));

var t = millis();
for (var i=0;i<l;i++){
  a.indexOf(c);
}
trace('array indexof c '+(millis()-t));

var t = millis();
for (var i=0;i<l;i++){
  s.indexOf(y);
}
trace('string indexof y '+(millis()-t));

var t = millis();
for (var i=0;i<l;i++){
  a.indexOf(y);
}
trace('array indexof y '+(millis()-t));

var t = millis();
for (var i=0;i<l;i++){
  s.indexOf(c);
}
trace('string indexof c '+(millis()-t));

var t = millis();
for (var i=0;i<l;i++){
  y.indexOf(c);
}
trace('string y indexof c'+(millis()-t));

trace('');
trace('');

var t = millis();
for (var i=0;i<l;i++){
  if(s)c='c';
}
trace('if (s) '+(millis()-t));

var t = millis();
var b = true;
for (var i=0;i<l;i++){
  if(b)c='c';
}
trace('if (b) '+(millis()-t));