Мне нужно измерить, сколько времени потребуется для вычисления моего хэша с 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:
![enter image description here](https://i.stack.imgur.com/yZqZ4.png)
А вот мои логи, если кейлен 500000
![enter image description here](https://i.stack.imgur.com/w4enD.png)
Будет ли время вычислений просто разницей между каждым 'TIMESTAMP Hash Finished'? Или это будет время, которое потребовалось для завершения всей функции (наверху журналов)?
Т.е. время вычисления с использованием 500000 кейленов составляет 1526473894031 - 1526473893718 = 313 мс?