8P by xguru 1일전 | ★ favorite | 댓글 1개
  • 코드 성능을 정밀하게 측정하기 위해 개발된 10KB 이하의 초경량 벤치마킹 도구
  • Web API 기반으로 동작하며, process.hrtime 또는 performance.now를 활용한 정확한 타이밍 측정 지원
  • Node.js, Deno, Bun 등 다양한 JavaScript 런타임 환경에서 실행 가능
  • 통계 기반 분석 기능 제공 : 평균, 표준편차, 오차 한계, 분산, 백분위수 등 지연(latency)처리량(throughput) 계산 지원
  • 동시성(concurrency) 실행 모드 : task 단위 또는 bench 단위로 병렬 실행 가능, threshold 옵션으로 최대 동시 실행 수 제어
  • 이벤트 기반 구조로 확장 가능 : BenchTask 클래스가 EventTarget을 상속하며, cycle, abort 등 이벤트 리스너 등록 가능
  • 비동기 함수 자동 감지 : AsyncFunction 또는 Promise 반환 여부를 검사해 자동으로 async 모드 설정
  • 결과 시각화 및 변환 : bench.table() 메서드로 console.table() 출력 포맷 변환하며, 사용자 정의 Converter 함수로 출력 형식 커스터마이징 가능
  • retainSamples 설정 시 원시 샘플 데이터를 그대로 유지하며, 커스텀 분석, 그래프 시각화, 결과 내보내기 등에 활용 가능
  • 정밀한 타임스탬프 제공자(timestamp provider) 선택 가능
    • 기본값은 performance.now()
    • hrtimeNow, bunNanoseconds, auto 등 런타임별 최적화 옵션 지원
    • 사용자 정의 TimestampProvider 인터페이스 구현 가능
  • AbortSignal 기반 중단 제어 지원
    • 벤치 전체 또는 개별 태스크 단위로 실행 중단(abort) 가능
    • 중단 시 abort 이벤트 발생 및 상태 플래그(task.result.aborted) 설정
  • 외부 라이브러리 의존성 없는 단일 패키지 구조로 빠른 초기화 및 실행 속도 보장
  • Benchmark.js, mitata, tatami-ng, Bema 대비 더 작고 단순하며 Web API 친화적인 설계가 특징

이제 이런게 필요한가 싶네요. AI가 그 때 그 시기에 맞는 performance 측정에 대한 스크립트를 워낙 잘 짜줘서요..