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