Removed readReverse() precondition for a 2x block parsing improvement.

This commit is contained in:
Braydon Fuller 2015-06-29 21:43:11 -04:00
parent e74a65fd0a
commit 805182c500
3 changed files with 20 additions and 6 deletions

View File

@ -17,12 +17,19 @@ async.series([
function(next) {
var buffers = [];
var hashBuffers = [];
console.log('Generating Random Test Data...');
for (var i = 0; i < 100; i++) {
// uint64le
var br = new bitcore.encoding.BufferWriter();
var num = Math.round(Math.random() * 10000000000000);
br.writeUInt64LEBN(new bitcore.crypto.BN(num));
buffers.push(br.toBuffer());
// hashes
var data = bitcore.crypto.Hash.sha256sha256(new Buffer(32));
hashBuffers.push(data);
}
var c = 0;
@ -38,10 +45,23 @@ async.series([
c++;
}
var reversed;
function readReverse() {
if (c >= hashBuffers.length) {
c = 0;
}
var buf = hashBuffers[c];
var br = new bitcore.encoding.BufferReader(buf);
reversed = br.readReverse();
c++;
}
console.log('Starting benchmark...');
var suite = new benchmark.Suite();
suite.add('bufferReader.readUInt64LEBN()', readUInt64LEBN, {maxTime: maxTime});
suite.add('bufferReader.readReverse()', readReverse, {maxTime: maxTime});
suite
.on('cycle', function(event) {
console.log(String(event.target));

View File

@ -152,7 +152,6 @@ module.exports = {
* @return {Buffer}
*/
reverse: function reverse(param) {
$.checkArgumentType(param, 'Buffer', 'param');
var ret = new buffer.Buffer(param.length);
for (var i = 0; i < param.length; i++) {
ret[i] = param[param.length - i - 1];

View File

@ -152,10 +152,5 @@ describe('buffer utils', function() {
original[1].should.equal(reversed[1]);
original[2].should.equal(reversed[0]);
});
it('checks the argument type', function() {
expect(function() {
BufferUtil.reverse('invalid');
}).to.throw(errors.InvalidArgumentType);
});
});
});