Desempenho
Desempenho testado na versão 6.4.7 da CLI utilizando Node.js v20.18.0.
|------------------------------------------------------------------------|
| STATS FROM (cross-api) VERSION (6.4.7) SIZE (349 KB) NODE (v20.18.0) |
|-------------------------------------------|-------------|--------------|
| COMMAND | TIME | Δ MEMORY |
|-------------------------------------------|-------------|--------------|
| help | 9.703 ms | 482.14 KB |
| list:provider | 8.725 ms | 276.05 KB |
| language | 8.544 ms | 399.31 KB |
| config (before) | 7.818 ms | 407.29 KB |
| config (after) | 4.369 ms | 192.12 KB |
| revert (make:api) | 6.757 ms | 523.15 KB |
| revert (make:module -> father) | 8.862 ms | 600.84 KB |
| revert (make:module -> son -> father) | 11.020 ms | 915.83 KB |
| revert (make:provider -> hash) | 10.045 ms | 655.45 KB |
| revert (make:provider -> hash -> father) | 11.498 ms | 786.19 KB |
| make:api | 18.681 ms | 956.63 KB |
| make:module (father) | 17.376 ms | 1160.77 KB |
| make:module (son -> father) | 16.417 ms | 1086.60 KB |
| make:provider (cache) | 9.723 ms | 490.45 KB |
| make:provider (crypto) | 10.229 ms | 593.90 KB |
| make:provider (hash) | 8.827 ms | 462.36 KB |
| make:provider (lead) | 10.289 ms | 597.63 KB |
| make:provider (lead -> father) | 11.752 ms | 800.44 KB |
| make:provider (mail) | 10.191 ms | 609.41 KB |
| make:provider (mailTemplate) | 10.729 ms | 470.24 KB |
| make:provider (notification) | 10.161 ms | 600.66 KB |
| make:provider (queue) | 11.332 ms | 649.66 KB |
| make:provider (storage) | 9.935 ms | 385.78 KB |
|-------------------------------------------|-------------|--------------|
Como fazer um medidor de desempenho simples:
import { performance } from 'node:perf_hooks';
import { memoryUsage } from 'node:process';
function measurePerformance(label: string, callback: () => unknown): void {
if (global.gc) global.gc();
const initialMemory = memoryUsage().heapUsed;
const startTime = performance.now();
callback();
const endTime = performance.now();
if (global.gc) global.gc();
const finalMemory = memoryUsage().heapUsed;
const executionTime = (endTime - startTime).toFixed(3);
const memoryChangeKB = ((finalMemory - initialMemory) / 1024).toFixed(2);
console.log(
`${label.padEnd(12)} | Tempo: ${executionTime} ms | Δ Memória: ${memoryChangeKB} KB`,
);
}
Last updated
Was this helpful?