From 652ff4d794fdc43b3860fbfe5eeeee676358d620 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Thu, 27 Feb 2014 12:00:58 +0400 Subject: [PATCH] Changed benchmark data formats pass --- benchmark/benchmark.js | 22 +++++++++++++++---- .../implementations/deflate-gildas/index.js | 2 +- .../implementations/deflate-imaya/index.js | 2 +- .../implementations/deflate-pako/index.js | 2 +- .../implementations/deflate-zlib/index.js | 2 +- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/benchmark/benchmark.js b/benchmark/benchmark.js index 593fde5..d41be01 100755 --- a/benchmark/benchmark.js +++ b/benchmark/benchmark.js @@ -11,6 +11,8 @@ var Benchmark = require('benchmark'); var ansi = require('ansi'); var cursor = ansi(process.stdout); +var pako = require('../'); + var IMPLS_DIRECTORY = path.join(__dirname, 'implementations'); var IMPLS_PATHS = {}; @@ -35,9 +37,21 @@ var SAMPLES = []; fs.readdirSync(SAMPLES_DIRECTORY).sort().forEach(function (sample) { var filepath = path.join(SAMPLES_DIRECTORY, sample), extname = path.extname(filepath), - basename = path.basename(filepath, extname), - content = new Uint8Array(fs.readFileSync(filepath)), - title = util.format('%s (%d bytes)', sample, content.length); + basename = path.basename(filepath, extname); + + var content = {}; // raw/compressed data in different formats + + content.buffer = fs.readFileSync(filepath); + content.typed = new Uint8Array(content.buffer); + + content.deflateTyped = pako.deflate(content.typed, { level: LEVEL }); + content.deflateBuffer = new Buffer(content.deflateTyped); + + content.deflateRawTyped = pako.deflateRaw(content.typed, { level: LEVEL }); + content.deflateRawBuffer = new Buffer(content.deflateRawTyped); + + var title = util.format('(%d bytes raw / ~%d bytes compressed)', content.typed.length, content.deflateTyped.length); + function onComplete() { cursor.write('\n'); @@ -47,7 +61,7 @@ fs.readdirSync(SAMPLES_DIRECTORY).sort().forEach(function (sample) { var suite = new Benchmark.Suite(title, { onStart: function onStart() { - console.log('\nSample: %s', sample); + console.log('\nSample: %s %s', sample, title); }, onComplete: onComplete diff --git a/benchmark/implementations/deflate-gildas/index.js b/benchmark/implementations/deflate-gildas/index.js index ba8ae9c..3b1eb1c 100644 --- a/benchmark/implementations/deflate-gildas/index.js +++ b/benchmark/implementations/deflate-gildas/index.js @@ -3,5 +3,5 @@ var deflate = require('./deflate'); exports.run = function(data, level) { - return deflate(data, level); + return deflate(data.typed, level); } diff --git a/benchmark/implementations/deflate-imaya/index.js b/benchmark/implementations/deflate-imaya/index.js index ea33f9b..25fa143 100644 --- a/benchmark/implementations/deflate-imaya/index.js +++ b/benchmark/implementations/deflate-imaya/index.js @@ -4,5 +4,5 @@ var deflate = require('./deflate'); exports.run = function(data) { // Compression levels not supported. Use unknown defaults always - return deflate(data); + return deflate(data.typed); } diff --git a/benchmark/implementations/deflate-pako/index.js b/benchmark/implementations/deflate-pako/index.js index 432bd5b..2bd480f 100644 --- a/benchmark/implementations/deflate-pako/index.js +++ b/benchmark/implementations/deflate-pako/index.js @@ -3,7 +3,7 @@ var pako = require('../../../index.js'); exports.run = function(data, level) { - return pako.deflate(data, { + return pako.deflate(data.typed, { level: level }); } diff --git a/benchmark/implementations/deflate-zlib/index.js b/benchmark/implementations/deflate-zlib/index.js index f208c1d..e84111f 100644 --- a/benchmark/implementations/deflate-zlib/index.js +++ b/benchmark/implementations/deflate-zlib/index.js @@ -34,6 +34,6 @@ exports.run = function(data, level, callback) { callback(null); }); - zlibStream.write(new Buffer(data)); + zlibStream.write(data.buffer); zlibStream.end(); }