loop comparisonz

Benchmark created by Shawn Whinnery on


Description

Experimenting with some different for loop structures. I'm working on a line chart that plots several thousand data points in real time. The goal is to draw 3000 points at a steady 60 fps.

Setup

var data = [];
    
    for(var d = 0; d < 3000; d++){
        data.push(Math.random() * 100);
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Plain ol for loop
for(var i = 0; i < data.length; i++){
}
ready
Loop with known length
var l = data.length;
for(var i = 0; i < l; i++){
}
ready
Deincreent loop
for(var i = data.length; i > 0; i--){
}
ready
Deincreent loop known length
var l = data.length;
for(var i = l; i > 0; i--){
}
ready
shortloop
for(var i = data.length; i--;){}
ready
shortloop known length
var l = data.length;
for(var i = l; i--;){}
ready

Revisions

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

  • Revision 1: published by Shawn Whinnery on