8 ポイント 投稿者 xguru 2025-12-11 | 1件のコメント | WhatsAppで共有
  • コード性能を精密に測定するために開発された、10KB以下の超軽量ベンチマークツール
  • Web APIベースで動作し、process.hrtime または performance.now を活用した 正確なタイミング測定 をサポート
  • Node.js、Deno、Bun など、さまざまな JavaScriptランタイム環境で実行可能
  • 統計ベースの分析機能 を提供: 平均、標準偏差、誤差範囲、分散、パーセンタイルなど、レイテンシー(latency) および スループット(throughput) の計算をサポート
  • 並行性(concurrency) 実行モード: task 単位または bench 単位で並列実行可能で、threshold オプションで最大同時実行数を制御
  • イベントベース構造 により拡張可能: BenchTask クラスが EventTarget を継承し、cycleabort などのイベントリスナーを登録可能
  • 非同期関数の自動検出: AsyncFunction または Promise の返却有無を検査して、自動的に async モードを設定
  • 結果の可視化と変換: bench.table() メソッドで console.table() 出力形式に変換し、ユーザー定義の Converter 関数 で出力形式をカスタマイズ可能
  • retainSamples 設定時は生のサンプルデータをそのまま保持し、カスタム分析、グラフ可視化、結果のエクスポートなどに活用可能
  • 高精度なタイムスタンププロバイダー(timestamp provider) を選択可能
    • デフォルトは performance.now()
    • hrtimeNowbunNanosecondsauto など、ランタイム別の最適化オプションをサポート
    • ユーザー定義の TimestampProvider インターフェース を実装可能
  • AbortSignalベースの中断制御 をサポート
    • ベンチマーク全体または個別タスク単位で 実行中断(abort) が可能
    • 中断時に abort イベントが発生し、状態フラグ (task.result.aborted) を設定
  • 外部ライブラリ依存のない単一パッケージ構成により、高速な初期化と実行速度を実現
  • Benchmark.jsmitatatatami-ngBema と比べて、より小さくシンプルでWeb API親和的 な設計が特徴

1件のコメント

 
shakespeares 2025-12-11

もうこういうものが必要なのかなと思います。AIがその時々に合ったパフォーマンス測定用のスクリプトをかなりうまく書いてくれるので……