/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v22.22.2
benchmark/process/bench-env.js
57 строк
1 KB
Antoine du Hamel
benchmark: add trailing commas in `benchmark/process`
05 фев 2023, 14:00
Не верифицирован
05 фев 2023, 14:00
f466fe5
Код
Авторство
О чём код?
'use strict'; const common = require('../common'); const bench = common.createBenchmark(main, { n: [1e6], operation: ['get', 'set', 'enumerate', 'query', 'delete'], }); function main({ n, operation }) { switch (operation) { case 'get': bench.start(); for (let i = 0; i < n; i++) { process.env.PATH; // eslint-disable-line no-unused-expressions } bench.end(n); break; case 'set': bench.start(); for (let i = 0; i < n; i++) { process.env.DUMMY = 'hello, world'; } bench.end(n); break; case 'enumerate': // First, normalize process.env so that benchmark results are comparable. for (const key of Object.keys(process.env)) delete process.env[key]; for (let i = 0; i < 64; i++) process.env[Math.random()] = Math.random(); n /= 10; // Enumeration is comparatively heavy. bench.start(); for (let i = 0; i < n; i++) { // Access every item in object to process values. Object.keys(process.env); } bench.end(n); break; case 'query': bench.start(); for (let i = 0; i < n; i++) { 'PATH' in process.env; // eslint-disable-line no-unused-expressions } bench.end(n); break; case 'delete': bench.start(); for (let i = 0; i < n; i++) { delete process.env.DUMMY; } bench.end(n); break; } }