fcoin/bench/script.js
Christopher Jeffrey b754973511
utils/btc: rename.
2016-11-19 10:45:31 -08:00

44 lines
1.1 KiB
JavaScript

'use strict';
var BN = require('bn.js');
var bcoin = require('../').set('main');
var constants = bcoin.constants;
var util = bcoin.util;
var assert = require('assert');
var scriptTypes = constants.scriptTypes;
var opcodes = constants.opcodes;
var bench = require('./bench');
var fs = require('fs');
var Script = bcoin.script;
bcoin.cache();
Script.prototype.fromPubkeyhashOld = function fromScripthash(hash) {
assert(Buffer.isBuffer(hash) && hash.length === 20);
this.push(opcodes.OP_DUP);
this.push(opcodes.OP_HASH160);
this.push(hash);
this.push(opcodes.OP_EQUALVERIFY);
this.push(opcodes.OP_CHECKSIG);
this.compile();
return this;
};
Script.fromPubkeyhashOld = function fromScripthash(hash) {
return new Script().fromPubkeyhashOld(hash);
};
var hashes = [];
for (var i = 0; i < 100000; i++)
hashes.push(bcoin.crypto.randomBytes(20));
var end = bench('old');
for (var i = 0; i < hashes.length; i++)
Script.fromPubkeyhashOld(hashes[i]);
end(i);
var end = bench('hash');
for (var i = 0; i < hashes.length; i++)
Script.fromPubkeyhash(hashes[i]);
end(i);