rootslab/bop

View on GitHub
bench/best-magic-data-rate-bench.js

Summary

Maintainability
A
0 mins
Test Coverage
var log = console.log
    , dlength = 700
    , stime = 0
    , boundary = new Buffer( 57 )
    // build test data to parse
    , data = ( function () {
        var test = new Buffer( dlength * 1024 * 1024),
            t = 0,
            tlen = test.length;
        log( '- now building a %d GB test buffer..', ( dlength / 1024 ).toFixed( 2 ) );
        for( ; ++t < tlen; ) {
            test[ t ] = t % 256;
        }
        log( '- test buffer created..' );
        return test;
    } )()
    // crook parse method
    , magicParse = function ( pattern, data ) {
        var i = 0,
            dlen = data.length,
            plen = pattern.length,
            dchar = null,
            pchar = pattern[ plen - 1 ];
        log( '- now parsing test buffer with magic algorithm..' );
        for( stime = Date.now(); i < dlen; i += plen ) {
            /*
             * access data and compare current byte with the last byte of pattern,
             * then skip plen bytes, no other comparison.
             * best performance O(n/m)
             */
            if( pchar === data[ i ] ) {
                // ..
            }
        }
        return [];
    }
    , results = magicParse( boundary, data )
    , duration = ( Date.now() - stime )
    , datarate = ( ( dlength / duration ) * ( 7.8125 ) )
    ;

log( '- elapsed time is; %d millis (I\'m the best!)', duration );
log( '- datarate is: %d Gbit/sec (Magic!)', ( datarate ).toFixed( 2 ) );
log( '- results: 0 found (Sorry, I\'m a crook!)' );