javascript / expert
Snippet
Performance-Profiling mit timerify
Die Funktion 'performance.timerify' umschließt eine Funktion, um deren Ausführungszeit automatisch zu messen und einen Performance-Eintrag zu erstellen. In Kombination mit PerformanceObserver ermöglicht dies ein nicht-intrusives Monitoring kritischer Pfade, ohne manuell Zeitstempel in der Logik verteilen zu müssen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
import { performance, PerformanceObserver } from 'node:perf_hooks';const obs = new PerformanceObserver((list) => {const entries = list.getEntries();entries.forEach(e => console.log(`${e.name}: ${e.duration.toFixed(4)}ms`));});obs.observe({ entryTypes: ['function'] });const heavyTask = () => { for(let i=0; i<1e6; i++); };const profiledTask = performance.timerify(heavyTask);profiledTask();
nodejs
Erklärung
1
obs.observe({ entryTypes: ['function'] });
Weist den Observer an, speziell auf timerified Funktions-Einträge zu hören.
2
performance.timerify(heavyTask);
Gibt eine neue Funktion zurück, die bei Ausführung Performance-Markierungen auslöst.