updated zlib benchmark to use streams

master
Vitaly Puzrin 2014-02-04 00:54:27 +04:00
rodzic ae49f96738
commit ff0a4c0c50
2 zmienionych plików z 31 dodań i 2 usunięć

0
benchmark/benchmark.js 100644 → 100755
Wyświetl plik

Wyświetl plik

@ -5,6 +5,35 @@ var zlib = require('zlib');
exports.async = true;
exports.run = function(data, callback) {
var buffer = new Buffer(data);
zlib.deflate(buffer, callback);
//zlib.deflate(new Buffer(data), callback);
var zlibStream = zlib.createDeflate({
chunkSize: 1*1024*1024/*,
level: 6*/
});
var buffers = [], nread = 0;
zlibStream.on('error', function(err) {
zlibStream.removeAllListeners();
zlibStream=null;
callback(err);
});
zlibStream.on('data', function(chunk) {
buffers.push(chunk);
nread += chunk.length;
});
zlibStream.on('end', function() {
zlibStream.removeAllListeners();
zlibStream=null;
var buffer = Buffer.concat(buffers);
callback(null);
});
zlibStream.write(new Buffer(data));
zlibStream.end();
}