Files
hakmem/benchmarks/results/comprehensive_comparison.md

98 lines
3.3 KiB
Markdown
Raw Normal View History

# 📊 包括的ベンチマーク結果: 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 に集中すべき**