怎么使用 Javascript 内置函数记录每次挖矿所消耗的时间。最后对同一难度下的16次挖矿所消耗的时间进行统计计算其平均值。var difficulty = 4; number of zeros required at front of hashvar maximumNonce = 500000; limit the nonce to this so we dont mine
可以在mine函数中添加记录时间的代码,如下所示:
function mine(block, chain, isChain) { var start = new Date().getTime(); //记录开始时间 for (var x = 0; x <= maximumNonce; x++) { $('#block' + block + 'chain' + chain + 'nonce').val(x); $('#block' + block + 'chain' + chain + 'hash').val(sha256(block, chain)); if ($('#block' + block + 'chain' + chain + 'hash').val().substr(-difficulty, difficulty) === pattern) { if (isChain) { updateChain(block, chain); } else { updateState(block, chain); } var end = new Date().getTime(); //记录结束时间 var time = end - start; //计算时间差 console.log("Block " + block + ", Chain " + chain + ", Time: " + time + "ms"); //输出时间 break; } } }
然后,在调用mine函数时,可以记录16次挖矿所消耗的时间,如下所示:
var times = []; //定义一个数组,用于存储16次挖矿所消耗的时间 for (var i = 1; i <= 16; i++) { mine(i, 1, true); //调用mine函数 times.push(time); //将时间添加到数组中 } var sum = times.reduce(function(a, b) { return a + b; }); //计算总时间 var average = sum / times.length; //计算平均时间 console.log("Average Time: " + average + "ms"); //输出平均时
原文地址: http://www.cveoy.top/t/topic/hwtj 著作权归作者所有。请勿转载和采集!