Removed readReverse() precondition for a 2x block parsing improvement.
This commit is contained in:
parent
e74a65fd0a
commit
805182c500
|
@ -17,12 +17,19 @@ async.series([
|
||||||
function(next) {
|
function(next) {
|
||||||
|
|
||||||
var buffers = [];
|
var buffers = [];
|
||||||
|
var hashBuffers = [];
|
||||||
console.log('Generating Random Test Data...');
|
console.log('Generating Random Test Data...');
|
||||||
for (var i = 0; i < 100; i++) {
|
for (var i = 0; i < 100; i++) {
|
||||||
|
|
||||||
|
// uint64le
|
||||||
var br = new bitcore.encoding.BufferWriter();
|
var br = new bitcore.encoding.BufferWriter();
|
||||||
var num = Math.round(Math.random() * 10000000000000);
|
var num = Math.round(Math.random() * 10000000000000);
|
||||||
br.writeUInt64LEBN(new bitcore.crypto.BN(num));
|
br.writeUInt64LEBN(new bitcore.crypto.BN(num));
|
||||||
buffers.push(br.toBuffer());
|
buffers.push(br.toBuffer());
|
||||||
|
|
||||||
|
// hashes
|
||||||
|
var data = bitcore.crypto.Hash.sha256sha256(new Buffer(32));
|
||||||
|
hashBuffers.push(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
var c = 0;
|
var c = 0;
|
||||||
|
@ -38,10 +45,23 @@ async.series([
|
||||||
c++;
|
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...');
|
console.log('Starting benchmark...');
|
||||||
|
|
||||||
var suite = new benchmark.Suite();
|
var suite = new benchmark.Suite();
|
||||||
suite.add('bufferReader.readUInt64LEBN()', readUInt64LEBN, {maxTime: maxTime});
|
suite.add('bufferReader.readUInt64LEBN()', readUInt64LEBN, {maxTime: maxTime});
|
||||||
|
suite.add('bufferReader.readReverse()', readReverse, {maxTime: maxTime});
|
||||||
suite
|
suite
|
||||||
.on('cycle', function(event) {
|
.on('cycle', function(event) {
|
||||||
console.log(String(event.target));
|
console.log(String(event.target));
|
||||||
|
|
|
@ -152,7 +152,6 @@ module.exports = {
|
||||||
* @return {Buffer}
|
* @return {Buffer}
|
||||||
*/
|
*/
|
||||||
reverse: function reverse(param) {
|
reverse: function reverse(param) {
|
||||||
$.checkArgumentType(param, 'Buffer', 'param');
|
|
||||||
var ret = new buffer.Buffer(param.length);
|
var ret = new buffer.Buffer(param.length);
|
||||||
for (var i = 0; i < param.length; i++) {
|
for (var i = 0; i < param.length; i++) {
|
||||||
ret[i] = param[param.length - i - 1];
|
ret[i] = param[param.length - i - 1];
|
||||||
|
|
|
@ -152,10 +152,5 @@ describe('buffer utils', function() {
|
||||||
original[1].should.equal(reversed[1]);
|
original[1].should.equal(reversed[1]);
|
||||||
original[2].should.equal(reversed[0]);
|
original[2].should.equal(reversed[0]);
|
||||||
});
|
});
|
||||||
it('checks the argument type', function() {
|
|
||||||
expect(function() {
|
|
||||||
BufferUtil.reverse('invalid');
|
|
||||||
}).to.throw(errors.InvalidArgumentType);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue