Skip to content

danmilon/stream-bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benchmark binary streams. Mostly a copy paste of benchmark/net-pipe

Usage

var streamBench = require('stream-bench')
  , http        = require('http')
  , fs          = require('fs')

http.get('http://nodejs.org/dist/latest/node-v0.8.19.tar.gz', function (res) {
  var out = fs.createWriteStream('./out')

  var bench = streamBench({
    interval: 100,
    metric:   'mbytes'
  })

  bench.on('rate', function (rate) {
    console.log('rate: ', rate)
  })

  bench.once('report', function (report) {
    console.log(report)
  })

  res.pipe(bench).pipe(out)
})

Options

All the options are passed to the underlying stream, so lowWaterMark, highWaterMark, bufferSize, etc are all valid.

  • interval: How often to calculate throughput (in ms). Default 1000
  • metric: In what metric to report (bits, kbits, mbits, gbits, bytes, kbytes, mbytes, gbytes). Default mbits
  • logReport: Whether to log report to stdout. Default false
  • dump: Whether to dump data read from input stream. Useful when you won't pipe to another stream. Default false

TODO

  • tests
  • custom calculator function (eg for object streams)

About

Node streams benchmarks

Resources

Stars

Watchers

Forks

Packages

No packages published