summaryrefslogtreecommitdiff
path: root/benchmark/zlib/creation.js
blob: a207665bd90fba5018b2c7b16645629b6787c71a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
'use strict';
var common = require('../common.js');
var zlib = require('zlib');

var bench = common.createBenchmark(main, {
  type: [
    'Deflate', 'DeflateRaw', 'Inflate', 'InflateRaw', 'Gzip', 'Gunzip', 'Unzip'
  ],
  options: ['true', 'false'],
  n: [5e5]
});

function main(conf) {
  var n = +conf.n;
  var fn = zlib['create' + conf.type];
  if (typeof fn !== 'function')
    throw new Error('Invalid zlib type');
  var i = 0;

  if (conf.options === 'true') {
    var opts = {};
    bench.start();
    for (; i < n; ++i)
      fn(opts);
    bench.end(n);
  } else {
    bench.start();
    for (; i < n; ++i)
      fn();
    bench.end(n);
  }
}