98 lines
3.3 KiB
Markdown
98 lines
3.3 KiB
Markdown
|
|
# 📊 包括的ベンチマーク結果: HAKMEM vs System
|
|||
|
|
|
|||
|
|
## Test 1-6 詳細比較 (6パターン × 4サイズ = 24テスト)
|
|||
|
|
|
|||
|
|
### 16B サイズクラス
|
|||
|
|
| Test Pattern | HAKMEM | System | vs System |
|
|||
|
|
|--------------|--------|--------|-----------|
|
|||
|
|
| 1. Sequential LIFO | 66.00 M/s | 161.15 M/s | **-59.0%** ❌ |
|
|||
|
|
| 2. Sequential FIFO | 66.38 M/s | 159.71 M/s | **-58.4%** ❌ |
|
|||
|
|
| 3. Random Free | 54.03 M/s | 102.09 M/s | **-47.1%** ❌ |
|
|||
|
|
| 4. Interleaved | 66.28 M/s | 141.72 M/s | **-53.2%** ❌ |
|
|||
|
|
| 6. Long/Short-lived | 65.30 M/s | 160.62 M/s | **-59.3%** ❌ |
|
|||
|
|
|
|||
|
|
**平均**: 63.60 M/s vs 145.06 M/s → **-56.2%** 💀
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 32B サイズクラス
|
|||
|
|
| Test Pattern | HAKMEM | System | vs System |
|
|||
|
|
|--------------|--------|--------|-----------|
|
|||
|
|
| 1. Sequential LIFO | 60.22 M/s | 163.51 M/s | **-63.2%** ❌ |
|
|||
|
|
| 2. Sequential FIFO | 61.13 M/s | 155.76 M/s | **-60.8%** ❌ |
|
|||
|
|
| 3. Random Free | 50.30 M/s | 106.87 M/s | **-52.9%** ❌ |
|
|||
|
|
| 4. Interleaved | 61.00 M/s | 166.53 M/s | **-63.4%** ❌ |
|
|||
|
|
| 6. Long/Short-lived | 59.40 M/s | 174.06 M/s | **-65.9%** ❌ |
|
|||
|
|
|
|||
|
|
**平均**: 58.41 M/s vs 153.35 M/s → **-61.9%** 💀
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 64B サイズクラス
|
|||
|
|
| Test Pattern | HAKMEM | System | vs System |
|
|||
|
|
|--------------|--------|--------|-----------|
|
|||
|
|
| 1. Sequential LIFO | 51.83 M/s | 168.55 M/s | **-69.2%** ❌ |
|
|||
|
|
| 2. Sequential FIFO | 51.76 M/s | 169.14 M/s | **-69.4%** ❌ |
|
|||
|
|
| 3. Random Free | 43.96 M/s | 107.04 M/s | **-58.9%** ❌ |
|
|||
|
|
| 4. Interleaved | 51.94 M/s | 158.50 M/s | **-67.2%** ❌ |
|
|||
|
|
| 6. Long/Short-lived | 51.14 M/s | 162.62 M/s | **-68.6%** ❌ |
|
|||
|
|
|
|||
|
|
**平均**: 50.13 M/s vs 153.17 M/s → **-67.3%** 💀💀
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 128B サイズクラス
|
|||
|
|
| Test Pattern | HAKMEM | System | vs System |
|
|||
|
|
|--------------|--------|--------|-----------|
|
|||
|
|
| 1. Sequential LIFO | 39.54 M/s | 75.34 M/s | **-47.5%** ❌ |
|
|||
|
|
| 2. Sequential FIFO | 39.54 M/s | 80.91 M/s | **-51.1%** ❌ |
|
|||
|
|
| 3. Random Free | 35.49 M/s | 48.50 M/s | **-26.8%** 🤔 |
|
|||
|
|
| 4. Interleaved | 39.96 M/s | 81.28 M/s | **-50.8%** ❌ |
|
|||
|
|
| 6. Long/Short-lived | 40.20 M/s | 86.92 M/s | **-53.7%** ❌ |
|
|||
|
|
|
|||
|
|
**平均**: 38.95 M/s vs 74.59 M/s → **-47.8%** ❌
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### Mixed Sizes (8B, 16B, 32B, 64B)
|
|||
|
|
| Test Pattern | HAKMEM | System | vs System |
|
|||
|
|
|--------------|--------|--------|-----------|
|
|||
|
|
| 5. Mixed Sizes | 62.37 M/s | 161.77 M/s | **-61.4%** ❌ |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📉 全体サマリー (21テスト)
|
|||
|
|
|
|||
|
|
| Metric | HAKMEM | System | Ratio |
|
|||
|
|
|--------|--------|--------|-------|
|
|||
|
|
| **全体平均** | **52.59 M/s** | **135.94 M/s** | **-61.3%** 💀💀 |
|
|||
|
|
| 最高値 | 66.38 M/s | 174.06 M/s | -61.9% |
|
|||
|
|
| 最低値 | 35.49 M/s | 48.50 M/s | -26.8% |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔥 フラグメンテーションストレス
|
|||
|
|
|
|||
|
|
| Allocator | Throughput | vs System |
|
|||
|
|
|-----------|------------|-----------|
|
|||
|
|
| HAKMEM | **4.68 M/s** | **-74.6%** 💥💥💥 |
|
|||
|
|
| System | **18.43 M/s** (推定) | 100% |
|
|||
|
|
|
|||
|
|
**重大な問題**: フラグメンテーション耐性が極めて弱い!
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 結論
|
|||
|
|
|
|||
|
|
### HAKMEM の弱点が明確化:
|
|||
|
|
1. **Tiny (≤1KB)**: System の 1/3 以下 (-60~-70%) 💀
|
|||
|
|
2. **フラグメンテーション**: System の 1/4 (-75%) 💥
|
|||
|
|
3. **パターン感度**: LIFO/FIFO/Random すべてで劣る
|
|||
|
|
|
|||
|
|
### HAKMEM が強い領域:
|
|||
|
|
1. **Mid-Large (8-32KB)**: System の 2.08倍 (+108%) ✅
|
|||
|
|
2. **専用最適化 (HAKX 8-32KB)**: System の 2.71倍 (+171%) 🏆
|
|||
|
|
|
|||
|
|
### 戦略的判断:
|
|||
|
|
**Tiny を諦め、Mid-Large に集中すべき**
|