Phase v7-5b: C5+C6 multi-class expansion (+4.3% improvement)
- Add C5 (256B blocks) support alongside C6 (512B blocks) - Same segment shared between C5/C6 (page_meta.class_idx distinguishes) - SMALL_V7_CLASS_SUPPORTED() macro for class validation - Extend small_v7_block_size() for C5 (switch statement) A/B Result: C6-only v7 avg 7.64M ops/s → C5+C6 v7 avg 7.97M ops/s (+4.3%) Criteria: C6 protected ✅, C5 net positive ✅, TLS bloat none ✅ ENV: HAKMEM_SMALL_HEAP_V7_CLASSES=0x60 (bit5+bit6) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -22,12 +22,20 @@
|
||||
#define SMALL_SEGMENT_V7_MAGIC 0xC07E57u // C0(re) v7
|
||||
|
||||
// ============================================================================
|
||||
// C6 Class Configuration (v7-2: C6-only)
|
||||
// Class Configuration (v7-5b: C5+C6)
|
||||
// ============================================================================
|
||||
|
||||
// C6: 513-768B → 512B blocks
|
||||
#define SMALL_V7_C6_CLASS_IDX 6
|
||||
#define SMALL_V7_C6_BLOCK_SIZE 512
|
||||
|
||||
// C5: 257-512B → 256B blocks (v7-5b)
|
||||
#define SMALL_V7_C5_CLASS_IDX 5
|
||||
#define SMALL_V7_C5_BLOCK_SIZE 256
|
||||
|
||||
// v7-5b: Class support check macro
|
||||
#define SMALL_V7_CLASS_SUPPORTED(ci) ((ci) == 5 || (ci) == 6)
|
||||
|
||||
// ============================================================================
|
||||
// Page Index Calculation
|
||||
// ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user