Loops and Funcs (v2)

Revision 2 of this benchmark created on


Setup

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

Test runner

Ready to run.

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

for ( ri = 0 ; ri < rows ; ++ri ) {    
    for ( ci = 0 ; ci < cols ; ++ci ) {
        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.