Major Features: - Debug counter infrastructure for Refill Stage tracking - Free Pipeline counters (ss_local, ss_remote, tls_sll) - Diagnostic counters for early return analysis - Unified larson.sh benchmark runner with profiles - Phase 6-3 regression analysis documentation Bug Fixes: - Fix SuperSlab disabled by default (HAKMEM_TINY_USE_SUPERSLAB) - Fix profile variable naming consistency - Add .gitignore patterns for large files Performance: - Phase 6-3: 4.79 M ops/s (has OOM risk) - With SuperSlab: 3.13 M ops/s (+19% improvement) This is a clean repository without large log files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
50 lines
1.7 KiB
Bash
Executable File
50 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build Phase 6-1.5 Integrated Test
|
|
# Ultra-Simple Fast Path + Existing HAKMEM Backend
|
|
|
|
set -e
|
|
|
|
PHASE6_FLAG="-DHAKMEM_TINY_PHASE6_ULTRA_SIMPLE=1"
|
|
RELEASE_FLAG="-DHAKMEM_BUILD_RELEASE=1"
|
|
CFLAGS="-O2 -march=native -std=c11 -D_GNU_SOURCE -I core $PHASE6_FLAG $RELEASE_FLAG"
|
|
LDFLAGS="-lm -lpthread"
|
|
|
|
echo "=== Building Phase 6-1.5 Integrated Test ==="
|
|
echo "Flags: $PHASE6_FLAG $RELEASE_FLAG"
|
|
echo ""
|
|
|
|
# Compile HAKMEM core files
|
|
echo "Compiling HAKMEM core..."
|
|
gcc $CFLAGS -c core/hakmem.c -o build/hakmem_phase6.o
|
|
gcc $CFLAGS -c core/hakmem_tiny.c -o build/hakmem_tiny_phase6.o
|
|
gcc $CFLAGS -c core/hakmem_pool.c -o build/hakmem_pool_phase6.o
|
|
gcc $CFLAGS -c core/hakmem_l25_pool.c -o build/hakmem_l25_pool_phase6.o
|
|
gcc $CFLAGS -c core/hakmem_tiny_superslab.c -o build/hakmem_tiny_superslab_phase6.o
|
|
gcc $CFLAGS -c core/hakmem_tiny_magazine.c -o build/hakmem_tiny_magazine_phase6.o
|
|
gcc $CFLAGS -c core/hakmem_policy.c -o build/hakmem_policy_phase6.o
|
|
gcc $CFLAGS -c core/hakmem_prof.c -o build/hakmem_prof_phase6.o
|
|
|
|
# Compile test benchmark
|
|
echo "Compiling benchmark..."
|
|
gcc $CFLAGS -c benchmarks/src/tiny/phase6/bench_phase6_integrated.c -o build/bench_phase6_integrated.o
|
|
|
|
# Link
|
|
echo "Linking..."
|
|
gcc -o bench_phase6_integrated \
|
|
build/bench_phase6_integrated.o \
|
|
build/hakmem_phase6.o \
|
|
build/hakmem_tiny_phase6.o \
|
|
build/hakmem_pool_phase6.o \
|
|
build/hakmem_l25_pool_phase6.o \
|
|
build/hakmem_tiny_superslab_phase6.o \
|
|
build/hakmem_tiny_magazine_phase6.o \
|
|
build/hakmem_policy_phase6.o \
|
|
build/hakmem_prof_phase6.o \
|
|
$LDFLAGS
|
|
|
|
echo ""
|
|
echo "=== Build Complete! ==="
|
|
echo "Binary: ./bench_phase6_integrated"
|
|
echo ""
|
|
echo "Run with: ./bench_phase6_integrated"
|