Мне нужно измерить, сколько времени потребуется для вычисления моего хэша с x числом итераций. Вот код:
function hashPromise(secretPhrase, keylen) {
let hashedKey
var promise = new Promise(function(resolve, reject) {
crypto.pbkdf2(secretPhrase, 'salt', keylen, 256,
'sha256', (err, key) => {
if (err) {
console.log(err)
reject(err);
} else {
hashedKey = key.toString('hex')
let time = new Date().getTime()
console.log('keylen: ' + keylen)
console.log('TIMESTAMP Hash Finished: ' + time)
console.log('hashedKey: ' + hashedKey)
resolve( hashedSSN )
}
})
})
return promise;
}
Я перебираю эту функцию с promise.all пару сотен раз, каждый раз передавая новую секретную фразу.
Я использую http-запрос Firebase Functions для запуска этой функции. Вот мои логи, когда кейлен 1000:
А вот мои логи, если кейлен 500000
Будет ли время вычислений просто разницей между каждым 'TIMESTAMP Hash Finished'? Или это будет время, которое потребовалось для завершения всей функции (наверху журналов)?
Т.е. время вычисления с использованием 500000 кейленов составляет 1526473894031 - 1526473893718 = 313 мс?