/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
benchmark/perf_hooks/performance-observer.js
49 строк
941 B
Lei Shi
benchmark: update iterations in benchmark/perf_hooks
10 дек 2023, 11:49
Не верифицирован
10 дек 2023, 11:49
3b758b3
Код
Авторство
О чём код?
'use strict'; const assert = require('assert'); const common = require('../common.js'); const { PerformanceObserver, performance, } = require('perf_hooks'); function randomFn() { return Math.random(); } const bench = common.createBenchmark(main, { n: [1e6], pending: [1, 10], }, { options: ['--expose-internals'], }); let _result; function fillQueue(timerfied, pending) { for (let i = 0; i < pending; i++) { _result = timerfied(); } // Avoid V8 deadcode (elimination) assert.ok(_result); } function main({ n, pending }) { const timerfied = performance.timerify(randomFn); let count = 0; const obs = new PerformanceObserver((entries) => { count += entries.getEntries().length; if (count >= n) { bench.end(count); } else { fillQueue(timerfied, pending); } }); obs.observe({ entryTypes: ['function'], buffered: true }); bench.start(); fillQueue(timerfied, pending); }