ArrayBuffer perf

by Nick Karnik

JavaScript

function StopWatch() {
    var start, stop;
    var running = false;
    return {
        start: function(){
            start = Date.now();
            running = true;
            return this;
        },
        stop: function(){
            stop = Date.now();
            running = false;
            return this;
        },
        print: function(){
            if(running)
            {
                stop();
            }
            
            console.log("Elapsed: " + (stop-start) / 1000 + " milliseconds");
        }
    }
}

var bufferSizeInBits = 1024;
var blockSize - 32;
var buffer;
var view;
var int32Max = Math.pow(2, 32);

function Setup() {
    buffer = new ArrayBuffer(bufferSizeInBits);
    view = new DataView(buffer);
    
    var sw = new StopWatch().start();
    for(var i=0; i<bufferSizeInBits / blockSize;i++)
    {
        view.setUint32(i, int32Max);
    }
    sw.print();
}

function TearDown()
{
}

function Run()
{
    Setup();
    
    TearDown();
}