B
benchmarking
Use this skill when writing or running performance benchmarks for Jazz packages. Covers cronometro setup, file conventions, gotchas with worker threads, and how to compare implementations.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Use this skill when writing or running performance benchmarks for Jazz packages. Covers cronometro setup, file conventions, gotchas with worker threads, and how to compare implementations.
How to use
- Umieść pliki benchmarku w katalogu
bench/w korzeniu repozytorium. Każdy plik powinien mieć nazwę wzoru<subject>.<operation>.bench.ts, np.comap.create.jazz-tools.bench.tslubfilestream.getChunks.bench.ts. 2. Zainstaluj zależności benchmarkowe wbench/package.json: cronometro, cojson, jazz-tools i vitest. 3. Utwórz plik benchmarku importując cronometro i definiując obiekty testowe. Każdy obiekt powinien zawierać funkcjębefore()do przygotowania danych (uruchamia się raz przed iteracjami) i funkcjętest()zawierającą kod do pomiaru. 4. Zdefiniuj wiele implementacji w jednym pliku — na przykład "operation - @latest" i "operation - @workspace" — aby porównać wydajność starej i nowej wersji. 5. Uruchom benchmark za pomocą cronometro, które automatycznie uruchomi każdy test w izolowanym wątku roboczym dla dokładnych pomiarów. 6. Przeanalizuj wyniki, aby zidentyfikować regresje wydajności lub potwierdzić, że optymalizacja rzeczywiście poprawiła czas wykonania.