Loops and Funcs

Benchmark created on


Setup

var cols = 20;
    var rows = 10000;
    var list = [];
    
    for ( var ri = 0 ; ri < rows ; ++ri ) {
        list[ri] = [];
        
        for ( var ci = 0 ; ci < cols ; ++ci ) {
            list[ri][ci] = {
                state: 'normal',
                alpha: 1.0
            };
        }
    }
    
    var onFadeItem = function(item) {
        item.alpha = 0.5;
    };

Test runner

Ready to run.

Testing in
TestOps/sec
Update Via Function
for ( var ri = 0 ; ri < rows ; ++ri ) {    
    for ( var ci = 0 ; ci < cols ; ++ci ) {
        var item = list[ri][ci];
        item.state = 'faded';
        onFadeItem(item);
    }
}
ready
Update Via State
for ( var ri = 0 ; ri < rows ; ++ri ) {    
    for ( var ci = 0 ; ci < cols ; ++ci ) {
        var item = list[ri][ci];
        item.state = 'faded';
    }
}

for ( var ri = 0 ; ri < rows ; ++ri ) {    
    for ( var ci = 0 ; ci < cols ; ++ci ) {
        var item = list[ri][ci];
        item.alpha = (item.state == 'faded' ? 0.5 : 1.0);
    }
}
ready

Revisions

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