1.6 KiB
1.6 KiB
HAKMEM 状況メモ (2025-12-XX 更新)
現在の状態
- Mid MT 層を完全撤去(コード・ビルド依存・free 早期分岐を削除)し、Mid/Large は ACE+Pool の一本化。
- Mid W_MAX を 2.0 に緩和し、32–52KB Bridge クラス経路が確実に当たるよう調整。33KB 帯のセグフォは解消済み。
- free ラッパーは Superslab/Tiny ガードを維持しつつ、Mid/L2/L25 へのルートを確実化(Superslab 未登録 Tiny は無視、Mid/L2/L25 は分類+レジストリで捕捉)。
- Mid/L2/L25 ラップ判定はデフォルト ON(
HAKMEM_WRAP_L2=0/HAKMEM_WRAP_L25=0で OFF)。ネスト再帰のみブロック。
直近の成果
- bench 再現:
./bench_mid_large_mt_hakmem 4 20000 1024 4完走、ACE-FAIL スパムもなし。 - Mid MT のビルド/初期化/依存をすべて除去、Makefile も整理。
利用のポイント
- 33KB 帯の挙動確認は ACE/Pool のみで実施。断片化調整は
HAKMEM_WMAX_MID(デフォルト 2.0)で行う。 - Tiny ヘッダー誤分類防止: Superslab 登録必須チェックを free/fast-free で維持。
- 旧 Mid MT が必要な場合は別ブランチ/過去コミットを参照(現行ブランチには存在しない)。
残タスク/提案
- docs/benchmarks/scripts の Mid MT 関連ドキュメント・スクリプトを整理/アーカイブ。
- W_MAX/Cap の軽量 A/B(環境変数で OK)でフットプリント vs ヒット率を再計測。
core/box/front_gate_classifier.d,hakmem.d,mimalloc-benchの dirty 表示は必要に応じて無視/クリーン。