Repolode
tinylibs

tinylibs/tinybench

여러 JavaScript 런타임에서 동작하는 작고 단순한 무의존성 JavaScript 벤치마킹 라이브러리입니다.

스타
2,385
포크
60
열린 이슈
14
마지막 커밋
5시간 전

어떤 프로젝트인가요?

Tinybench는 JavaScript 함수의 성능을 측정하는 작은 라이브러리입니다. Bench 인스턴스를 만들고 이름이 지정된 작업을 추가한 다음 실행하면 평균, 중앙값, 표준편차, 오차 범위, 백분위수 등의 지연 시간 및 처리량 통계를 수집할 수 있습니다. Web API를 기반으로 하며, 시간 측정에는 process.hrtime 또는 performance.now를 사용하므로 여러 JavaScript 런타임에서 동작합니다.

작업은 동기식 또는 비동기식으로 실행할 수 있으며, 비동기 함수는 자동으로 감지됩니다. 작업별 또는 전체 작업에 대해 동시 실행을 활성화할 수 있고, 라이브러리는 cycle 및 warning 같은 Event 호환 이벤트를 발생시킵니다. 타이머 선택, 선택적 타이머 오버헤드 보정, 샘플 보관, AbortSignal 기반 취소 등을 설정할 수 있습니다. 결과는 로그로 출력하는 대신 데이터로 제공되며, bench.table()은 console.table()에 전달할 출력을 생성합니다.

이 패키지는 의존성이 없으며 npm을 통해 배포됩니다.

핵심 기능

  • 01백분위수와 오차 범위를 포함한 지연 시간 및 처리량 통계 분석.
  • 02비동기 함수를 자동으로 감지하며 동기 및 비동기 작업 지원.
  • 03작업 반복 실행 또는 여러 작업의 병렬 실행을 위한 동시성 모드.
  • 04cycle 및 타이머 포화 경고를 위한 EventTarget 호환 이벤트.
  • 05타임스탬프 제공자를 선택할 수 있으며 타이머 오버헤드를 선택적으로 보정.
  • 06벤치마크와 작업 수준 모두에서 AbortSignal 지원.

활용 사례

  • 같은 함수를 구현한 여러 JavaScript 코드의 성능 비교.
  • I/O에 의존하는 코드 경로와 같은 비동기 작업 측정.
  • 결과를 프로그래밍 방식으로 검사하는 테스트 스위트나 CI 작업에 벤치마크 통합.
  • Node.js, Bun 또는 다른 JavaScript 런타임에서 마이크로벤치마크 실행.

빠른 시작

  1. 1

    npm으로 tinybench를 개발 의존성으로 설치합니다

    npm install -D tinybench
  2. 2

    JavaScript 또는 TypeScript 파일에서 Bench를 가져오고 태스크를 추가한 다음 run()을 호출합니다

사용 전 알아둘 점

  • 타이머의 분해능에 가까운 작업의 경우 타이머 오버헤드가 결과를 왜곡할 수 있으므로 README에서는 overriddenDuration을 권장합니다.
  • 태스크는 기본적으로 로그에 기록되지 않으므로 결과를 직접 추출해 출력해야 합니다.

포함된 컬렉션

토픽

자주 묻는 질문

tinybench은(는) 무엇인가요?
여러 JavaScript 런타임에서 동작하는 작고 단순한 무의존성 JavaScript 벤치마킹 라이브러리입니다. Tinybench는 JavaScript 함수의 성능을 측정하는 작은 라이브러리입니다. Bench 인스턴스를 만들고 이름이 지정된 작업을 추가한 다음 실행하면 평균, 중앙값, 표준편차, 오차 범위, 백분위수 등의 지연 시간 및 처리량 통계를 수집할 수 있습니다. Web API를 기반으로 하며, 시간 측정에는 process.hrtime 또는 performance.now를 사용하므로 여러 JavaScript 런타임에서 동작합니다.
tinybench은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
tinybench은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
tinybench은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. tinybench의 마지막 커밋은 2026년 10월 22일입니다.
tinybench은(는) 어디에 사용할 수 있나요?
같은 함수를 구현한 여러 JavaScript 코드의 성능 비교. I/O에 의존하는 코드 경로와 같은 비동기 작업 측정. 결과를 프로그래밍 방식으로 검사하는 테스트 스위트나 CI 작업에 벤치마크 통합. Node.js, Bun 또는 다른 JavaScript 런타임에서 마이크로벤치마크 실행.
tinybench는 어떻게 설치하나요?
npm으로 tinybench를 개발 의존성으로 설치합니다: npm install -D tinybench JavaScript 또는 TypeScript 파일에서 Bench를 가져오고 태스크를 추가한 다음 run()을 호출합니다
tinybench은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tinylibs/tinybench

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트