/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
benchmark/crypto/hkdf.js
44 строки
986 B
Lei Shi
benchmark: update iterations in benchmark/crypto/hkdf.js
03 дек 2023, 09:31
Не верифицирован
03 дек 2023, 09:31
23031d9
Код
Авторство
О чём код?
'use strict'; const common = require('../common.js'); const assert = require('assert'); const { hkdf, hkdfSync, } = require('crypto'); const bench = common.createBenchmark(main, { sync: [0, 1], size: [10, 64, 1024], key: ['a', 'secret', 'this-is-a-much-longer-secret'], salt: ['', 'salt'], info: ['', 'info'], hash: ['sha256', 'sha512'], n: [1e4], }); function measureSync(n, size, salt, info, hash, key) { bench.start(); for (let i = 0; i < n; ++i) hkdfSync(hash, key, salt, info, size); bench.end(n); } function measureAsync(n, size, salt, info, hash, key) { let remaining = n; function done(err) { assert.ifError(err); if (--remaining === 0) bench.end(n); } bench.start(); for (let i = 0; i < n; ++i) hkdf(hash, key, salt, info, size, done); } function main({ n, sync, size, salt, info, hash, key }) { if (sync) measureSync(n, size, salt, info, hash, key); else measureAsync(n, size, salt, info, hash, key); }