Merge pull request #171 from braydonf/fix-benchmarks

Update benchmarks
This commit is contained in:
Chris Kleeschulte 2015-09-01 14:30:06 -04:00
commit af6528e1f1
2 changed files with 40 additions and 19 deletions

View File

@ -2,18 +2,18 @@
var benchmark = require('benchmark');
var async = require('async');
var memdown = require('memdown');
var Block = require('../lib/block');
var AddressModule = require('../lib/modules/address');
var DB = require('../lib/db');
var sinon = require('sinon');
var bitcore = require('bitcore');
var Block = bitcore.Block;
var AddressService = require('../lib/services/address');
var maxTime = 20;
var blockData1 = require('./data/block-367238.json');
var blockData2 = require('./data/block-367239.json');
var blockData3 = require('./data/block-367240.json');
console.log('Benchmarking Address Block Handler');
console.log('----------------------------------');
console.log('Address Service Block Handler');
console.log('-----------------------------');
async.series([
function(next) {
@ -25,15 +25,21 @@ async.series([
Block.fromBuffer(new Buffer(blockData3, 'hex'))
];
var blocksLength = 3;
var db = new DB({store: memdown});
var addressModule = new AddressModule({db: db});
var node = {
services: {
bitcoind : {
on: sinon.stub()
}
}
};
var addressService = new AddressService({node: node});
function blockHandler(deffered) {
if (c >= blocksLength) {
c = 0;
}
var block = blocks[c];
addressModule.blockHandler(block, true, function(err, operations) {
addressService.blockHandler(block, true, function(err, operations) {
if (err) {
throw err;
}

View File

@ -5,7 +5,7 @@ var bitcoin = require('bitcoin');
var async = require('async');
var maxTime = 20;
console.log('Benchmarking Bitcoind.js native interface versus Bitcoind JSON RPC interface');
console.log('Bitcoin Service native interface vs. Bitcoin JSON RPC interface');
console.log('----------------------------------------------------------------------');
// To run the benchmarks a fully synced Bitcore Core directory is needed. The RPC comands
@ -26,22 +26,29 @@ var fixtureData = {
]
};
var bitcoind = require('../').daemon({
datadir: process.env.BITCORENODE_DIR || '~/.bitcoin',
network: 'testnet'
var bitcoind = require('../').services.Bitcoin({
node: {
datadir: process.env.HOME + '/.bitcoin',
network: {
name: 'testnet'
}
}
});
bitcoind.on('error', function(err) {
bitcoind.log('error="%s"', err.message);
console.error(err.message);
});
bitcoind.on('open', function(status) {
bitcoind.log('status="%s"', status);
bitcoind.start(function(err) {
if (err) {
throw err;
}
console.log('Bitcoin Core started');
});
bitcoind.on('ready', function() {
bitcoind.log('status="%s"', 'chaintip ready.');
console.log('Bitcoin Core ready');
var client = new bitcoin.Client({
host: 'localhost',
@ -147,8 +154,16 @@ bitcoind.on('ready', function() {
.run();
}
], function(err) {
if (err) {
throw err;
}
console.log('Finished');
bitcoind.stop();
process.exit();
bitcoind.stop(function(err) {
if (err) {
console.error('Fail to stop services: ' + err);
process.exit(1);
}
process.exit(0);
});
});
});