more benchmarks.
This commit is contained in:
parent
11947a6ba8
commit
27bf8c6ebb
42
bench/coin.js
Normal file
42
bench/coin.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
var bn = require('bn.js');
|
||||||
|
var bcoin = require('../').set('main');
|
||||||
|
var constants = bcoin.protocol.constants;
|
||||||
|
var network = bcoin.protocol.network;
|
||||||
|
var utils = bcoin.utils;
|
||||||
|
var assert = require('assert');
|
||||||
|
var scriptTypes = constants.scriptTypes;
|
||||||
|
var bench = require('./bench');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var wtx = fs.readFileSync(__dirname + '/../test/data/wtx.hex', 'utf8');
|
||||||
|
wtx = bcoin.tx.fromRaw(wtx.trim(), 'hex');
|
||||||
|
|
||||||
|
var coins = bcoin.coins.fromTX(wtx);
|
||||||
|
var raw;
|
||||||
|
|
||||||
|
var end = bench('serialize');
|
||||||
|
for (var i = 0; i < 10000; i++)
|
||||||
|
raw = coins.toRaw();
|
||||||
|
end(i);
|
||||||
|
|
||||||
|
var end = bench('parse');
|
||||||
|
for (var i = 0; i < 10000; i++)
|
||||||
|
bcoin.coins.fromRaw(raw);
|
||||||
|
end(i);
|
||||||
|
|
||||||
|
var end = bench('parse-single');
|
||||||
|
var hash = wtx.hash('hex');
|
||||||
|
for (var i = 0; i < 10000; i++)
|
||||||
|
bcoin.coins.parseCoin(raw, hash, 5);
|
||||||
|
end(i);
|
||||||
|
|
||||||
|
var coins = bcoin.coins.fromRaw(raw);
|
||||||
|
var end = bench('get');
|
||||||
|
var j;
|
||||||
|
|
||||||
|
for (var i = 0; i < 10000; i++)
|
||||||
|
for (var j = 0; j < coins.outputs.length; j++)
|
||||||
|
coins.get(j);
|
||||||
|
end(i * coins.outputs.length);
|
||||||
61
bench/tx.js
Normal file
61
bench/tx.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
var bn = require('bn.js');
|
||||||
|
var bcoin = require('../').set('main');
|
||||||
|
var constants = bcoin.protocol.constants;
|
||||||
|
var network = bcoin.protocol.network;
|
||||||
|
var utils = bcoin.utils;
|
||||||
|
var assert = require('assert');
|
||||||
|
var scriptTypes = constants.scriptTypes;
|
||||||
|
var bench = require('./bench');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var tx1 = parseTX('../test/data/tx3.hex');
|
||||||
|
var tx4 = parseExtended('../test/data/tx4.hex');
|
||||||
|
var wtx = fs.readFileSync(__dirname + '/../test/data/wtx.hex', 'utf8');
|
||||||
|
wtx = new Buffer(wtx.trim(), 'hex');
|
||||||
|
var tx;
|
||||||
|
|
||||||
|
function parseTX(file) {
|
||||||
|
file = fs.readFileSync(__dirname + '/' + file, 'utf8').trim().split(/\n+/);
|
||||||
|
var tx = bcoin.tx.fromRaw(file.shift().trim(), 'hex');
|
||||||
|
for (var i = 0; i < file.length; i++) {
|
||||||
|
var coin = bcoin.tx.fromRaw(file[i].trim(), 'hex');
|
||||||
|
tx.fillCoins(coin);
|
||||||
|
}
|
||||||
|
return tx;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseExtended(file) {
|
||||||
|
file = fs.readFileSync(__dirname + '/' + file, 'utf8').trim();
|
||||||
|
return bcoin.tx.fromExtended(file, true, 'hex');
|
||||||
|
}
|
||||||
|
|
||||||
|
var end = bench('parse');
|
||||||
|
for (var i = 0; i < 1000; i++)
|
||||||
|
tx = bcoin.tx.fromRaw(wtx);
|
||||||
|
end(i);
|
||||||
|
|
||||||
|
var end = bench('serialize');
|
||||||
|
var raw;
|
||||||
|
|
||||||
|
for (var i = 0; i < 1000; i++) {
|
||||||
|
tx._raw = null;
|
||||||
|
raw = tx.toRaw();
|
||||||
|
}
|
||||||
|
end(i);
|
||||||
|
|
||||||
|
var end = bench('fee');
|
||||||
|
for (var i = 0; i < 1000; i++)
|
||||||
|
tx.getFee();
|
||||||
|
end(i);
|
||||||
|
|
||||||
|
var end = bench('sanity');
|
||||||
|
for (var i = 0; i < 1000; i++)
|
||||||
|
tx.isSane();
|
||||||
|
end(i);
|
||||||
|
|
||||||
|
var end = bench('verify');
|
||||||
|
for (var i = 0; i < 3000; i++)
|
||||||
|
tx1.verify(constants.flags.VERIFY_P2SH);
|
||||||
|
end(i * tx1.inputs.length);
|
||||||
Loading…
Reference in New Issue
Block a user