BENCHMARKS

「速い」ではなく、
測った結果を。

PC Mini Toolsは、軽さを設計思想だけで語りません。共通基盤と各ツールを同じ条件で繰り返し測り、p50 / p95、sample数、測定環境を一緒に残します。

p50 / p95最速値ではなく、分布で見る。
Environment includedMac・OS・fixture・sample数を残す。
Per-tool records機能ごとのcritical pathを測る。
RUST HOST

常駐基盤そのものを測る。

Host起動、Unix-domain socketのLocal RPC、アイドル時RSS。各ツールに共通する土台を独立して計測します。

LATEST RECORDED RUN

Rust Host baseline

Release buildを起動し、Tool Contract読込・socket bind・最初のhost.info応答までをstartupとして計測。RPCは製品と同じ1 request / connectionです。

開発中の参考値
Host startup25.0 msp50 · n=30
Host startup55.7 msp95
tools.list RPC14.1 msp95 · n=500
Idle RSS2.98 MiBwarm Host
Apple M1 Max · MacBookPro18,2 · macOS 27.0 · 2026/08/22Host binary 5.86 MiB
TOOL BENCHMARK

ツール固有の処理も、そのページで。

Native Providerの起動や実際の処理時間はHostの数字だけでは分かりません。各ツールのfixtureとcritical pathを別に測ります。

IMAGE OCR

Rust Host → Swift Vision → Apple Vision

1200×420px、日本語+英語の固定PNG。認識結果に期待文字列が含まれることを検証したsampleだけを採用しています。

開発中の参考値
Cold invoke304.0 msp50 · n=10
Cold invoke322.8 msp95
Warm invoke251.4 msp50 · n=100
Warm invoke263.9 msp95
Apple M1 Max · MacBookPro18,2 · macOS 27.0 · 2026/08/21OCRの機能ページを見る →
TOOL BENCHMARK

大量Renameも、実ファイルで測る。

Previewの文字列変換だけでなく、実ファイルを二段階transactionで移動し、Undoで全件を元へ戻すところまで測定します。

RENAME FILES · 10,000 ITEMS

Preview → Apply → Undo

一時ディレクトリの実ファイル10,000件。literal replace + sequenceをProduction Host RPCで処理し、各sampleで全Preview行・全target・全Undo復元を検証します。

高負荷環境の参考値
Preview468.3 msp50 · n=4
Preview520.0 msp95
Apply2860.1 msp50 · safety revalidation included
Undo2566.2 msp50 · full restore
Apple M1 Max · MacBookPro18,2 · macOS 27.0 · 2026/08/23Renameの機能ページを見る →
10,000件ではPreview responseが約2.26 MiB、測定後Host RSSが44.98 MiBです。今回の記録はload averageが高い開発マシン上のため、release性能の主張には使わずclean artifactで再計測します。
TOOL BENCHMARK

開かず確認する処理も、形式ごとに測る。

JSON・表・PDF・画像では読む量もparserも異なります。同じ`files.inspect` RPCで形式別fixtureを繰り返し、結果の正しさとp50 / p95を同時に記録します。

QUICK INSPECT FILE

Bounded read-only structure inspection

10,000-record JSON、10,000-row CSV/XLSX、200-page PDF、4032×3024 PNG寸法probe。ファイル選択時間や外部アプリ起動は測定に含めません。

高負荷環境の参考値
JSON · 10,000 records4.94 msp50 · p95 5.45 ms
CSV · 10,000 rows1.86 msp50 · p95 2.46 ms
XLSX · 10,000 rows12.4 msp50 · p95 13.2 ms
PDF · 200 pages0.922 msp50 · image probe 0.209 ms
Apple M1 Max · MacBookPro18,2 · macOS 27.0 · 2026/08/23Quick Inspectの機能ページを見る →
JSON previewはroot件数だけでなく、nested item数・深さ・総node数・文字列長も上限化しています。現在の記録はdirty worktreeかつ負荷が残る開発環境のため、release性能の主張には使いません。
TOOL BENCHMARK

使用中のファイルも、実プロセスで測る。

一時ファイルを実際に保持する0・1・10個のプロセスを用意し、同じ`files.who-uses` RPCで毎回正しいPIDが見つかることを検証しながら測ります。

WHO USES THIS FILE

Rust Host → native libproc Provider

ファイルはdevice + inodeで照合。Providerはwarm状態で、通常ユーザーからアクセスできるプロセスとopen vnode file descriptorを走査します。

高負荷環境の参考値
保持なし31.4 msp50 · p95 103.1 ms
1 process31.6 msp50 · p95 114.0 ms
10 processes52.2 msp50 · p95 147.0 ms
Provider artifact0.26 MiBwarm RSS 9.75 MiB
Apple M1 Max · MacBookPro18,2 · macOS 27.0 · 2026/08/23Who Usesの機能ページを見る →
今回のrunでは約906プロセスを走査しています。保護されたプロセスは通常ユーザーから取得できない場合があり、完全な特権監査とは扱いません。終了処理は速度値に含めず、PID再利用を想定したidentity再検証E2Eで安全性を確認しています。現在のload averageが非常に高いため、数値はrelease性能の主張ではありません。
TOOL BENCHMARK

コピー後の変換も、RPC込みで測る。

内容判定だけでなく、JSON整形、1,000行の表変換、日本語の文字幅正規化をProduction Host RPC経由で繰り返し、毎回結果も検証します。

TRANSFORM CLIPBOARD

Inspect → deterministic transform

約31 KiBの日本語・英語混在JSON、1,000行CSV、約55 KiBの幅混在テキスト。OSのクリップボードI/OはAdapter責務なのでTool固有時間から除外しています。

高負荷環境の参考値
JSON候補判定2.15 msp50 · n=60
Pretty JSON11.0 msp50 · p95 15.3 ms
CSV → TSV7.35 msp50 · 1,000 rows
日本語幅正規化1.90 msp50 · 約55 KiB
Apple M1 Max · MacBookPro18,2 · macOS 27.0 · 2026/08/23Clipboard Transformの機能ページを見る →
全sampleでJSON値・CSVセル行列・対象文字幅の意味論を検証しています。測定開始時のload averageが高いため、このrecordはrelease性能の主張ではなくregression用の開発参考値です。
METHODOLOGY

比較できる形で残す。

ベンチマークの目的は広告用の最小値を作ることではなく、変更によるregressionを見つけ、性能を継続的に改善することです。

01 / FIXTURE

条件を固定する。

入力サイズ、内容、実行経路を固定し、同じ作業を繰り返します。ツールに応じてcorrectness validationも同時に行います。

02 / DISTRIBUTION

一番速い1回を出さない。

sample数を明示し、p50とp95を基本にします。cold / warmの意味が異なる処理は分けて記録します。

03 / TRACEABLE

数値の出所を残す。

Benchmark Recordには環境、時刻、Git revision、dirty状態を記録。公開値はそのrecordから生成します。

現在の公開値は開発中worktreeでの参考測定です。リリース性能として扱う値は、cleanなrelease commit / release artifactから再計測して差し替えます。
PER TOOL

数字がない機能は、ないまま見せる。

未計測の機能に推測値は入れません。実装とbenchmark harnessが揃った時点で各機能ページへ自動的に結果を出します。

画像から文字を取り出す画像・OCR
実測あり機能ページ →
ファイルを開く前に、中身を確認するファイル
実測あり機能ページ →
このファイルを使っているアプリを見つけるファイル
実測あり機能ページ →
ファイル名をまとめて変えるファイル
実測あり機能ページ →
コピーした内容を、必要な形に変えるクリップボード
実測あり機能ページ →
必要な範囲だけ切り取る画面・画像
未計測機能ページ →
PDFをひとつにまとめるPDF・ファイル
未計測機能ページ →
画像サイズ・形式を変える画像
未計測機能ページ →
住所などを、すぐ呼び出す個人データ
未計測機能ページ →
日本語の住所を英語表記に住所・変換
未計測機能ページ →