在mine函数中添加以上代码,将其放在for循环中的第一行,记录每次挖矿所消耗的时间:

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); } break; } } var end = new Date().getTime(); //记录结束时间 console.log("Time taken to mine block " + block + " in chain " + chain + ": " + (end - start) + "ms"); //输出消耗时间

最后,在控制台中输出同一难度下的16次挖矿所消耗的时间,并计算其平均值:

var times = []; for (var i = 1; i <= 16; i++) { mine(i, 1, true); times.push(end - start); } console.log("Times taken to mine 16 blocks in chain 1: " + times); var sum = times.reduce((a, b) => a + b, 0); var avg = sum / times.length; console.log("Average time taken to mine a block in chain 1: " + avg + "ms")

在blockchain-demo 中哪个文件怎么使用 Javascript 内置函数将这个函数放在哪里?记录每次挖矿所消耗的时间。最后对同一难度下的16次挖矿所消耗的时间进行统计计算其平均值。在以下函数中添加以上var difficulty = 4; number of zeros required at front of hashvar maximumNonce = 500000

原文地址: https://www.cveoy.top/t/topic/hvCy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录