60 lines
2.7 KiB
Markdown
60 lines
2.7 KiB
Markdown
|
|
# Benchmarks Catalog
|
|||
|
|
|
|||
|
|
このディレクトリのベンチを用途別に整理しました。各ベンチは System/mimalloc/HAKMEM(直リンク or LD_PRELOAD)の三者比較、もしくは HAKMEM の A/B(環境変数)を想定しています。
|
|||
|
|
|
|||
|
|
## ベンチ種類(バイナリ)
|
|||
|
|
|
|||
|
|
- Tiny Hot(8–64B、ホットパス/LIFO)
|
|||
|
|
- `benchmarks/src/tiny/bench_tiny_hot.c`
|
|||
|
|
- バイナリ: `bench_tiny_hot_system`, `bench_tiny_hot_hakmem`, `bench_tiny_hot_mi`
|
|||
|
|
- 例: `./bench_tiny_hot_hakmem 64 100 60000`
|
|||
|
|
|
|||
|
|
- Random Mixed(16–1024B、単体)
|
|||
|
|
- バイナリ: `bench_random_mixed_system`, `bench_random_mixed_hakmem`
|
|||
|
|
- 例: `./bench_random_mixed_hakmem 400000 8192 123`
|
|||
|
|
|
|||
|
|
- Mid/Large MT(8–32KiB、マルチスレッド)
|
|||
|
|
- バイナリ: `bench_mid_large_mt_system`, `bench_mid_large_mt_hakmem`
|
|||
|
|
- 例: `./bench_mid_large_mt_hakmem 4 40000 2048 42`
|
|||
|
|
|
|||
|
|
- VM Mixed(512KB–<2MB、L2.5/L2 の再利用確認)
|
|||
|
|
- バイナリ: `bench_vm_mixed_system`, `bench_vm_mixed_hakmem`
|
|||
|
|
- 例: `HAKMEM_BIGCACHE_L25=1 HAKMEM_WRAP_TINY=1 ./bench_vm_mixed_hakmem 20000 256 4242`
|
|||
|
|
|
|||
|
|
- Larson(8–128B、mimalloc-bench 派生)
|
|||
|
|
- バイナリ: `larson_system`, `larson_mi`, `larson_hakmem`
|
|||
|
|
- 例: `./larson_hakmem 2 8 128 1024 1 12345 4`
|
|||
|
|
|
|||
|
|
- Redis-like(16–1024B、アプリ風)
|
|||
|
|
- バイナリ: `benchmarks/redis/workload_bench_system`
|
|||
|
|
- 直リンク: System のみ。mimalloc/HAKMEM は LD_PRELOAD で比較(HAKMEM は安定化中)。
|
|||
|
|
|
|||
|
|
## マトリクス実行(CSV保存)
|
|||
|
|
|
|||
|
|
- Random Mixed(直リンク)
|
|||
|
|
- `benchmarks/scripts/run_random_mixed_matrix.sh [cycles] [ws] [reps]`
|
|||
|
|
- 出力: `bench_results/auto/random_mixed_<ts>/results.csv`
|
|||
|
|
|
|||
|
|
- Mid/Large MT(直リンク)
|
|||
|
|
- `benchmarks/scripts/run_mid_large_mt_matrix.sh [threads_csv] [cycles] [ws] [reps]`
|
|||
|
|
- 出力: `bench_results/auto/mid_large_mt_<ts>/results.csv`
|
|||
|
|
|
|||
|
|
- VM Mixed(L2.5/L2、HAKMEMのL25 A/B)
|
|||
|
|
- `benchmarks/scripts/run_vm_mixed_matrix.sh [cycles] [ws] [reps]`
|
|||
|
|
- 出力: `bench_results/auto/vm_mixed_<ts>/results.csv`
|
|||
|
|
|
|||
|
|
- Larson(補助)
|
|||
|
|
- `scripts/run_larson.sh`(直リンク triad)、`scripts/run_larson_claude.sh`(環境プリセット付き)
|
|||
|
|
|
|||
|
|
## 代表的な環境変数
|
|||
|
|
|
|||
|
|
- HAKMEM_WRAP_TINY=1 → HAKMEM/Tiny を有効化(直リンクベンチ)
|
|||
|
|
- HAKMEM_TINY_READY=0/1 → Ready List(refill最適化)
|
|||
|
|
- HAKMEM_TINY_SS_ADOPT=0/1 → publish→adopt 経路
|
|||
|
|
- HAKMEM_BIGCACHE_L25=0/1 → L2.5(512KB–<2MB)を BigCache にも載せる(A/B)
|
|||
|
|
|
|||
|
|
## 参考出力(短時間ランの目安)
|
|||
|
|
|
|||
|
|
- 直近の短ランのスナップショットは `benchmarks/RESULTS_SNAPSHOT.md` を参照してください。正式な比較は各マトリクススクリプトで reps=5/10・長時間ラン(例: 10s)を推奨します。
|
|||
|
|
|