Files
hakmem/.gitignore
Moe Charm (CI) 131cdb7b88 Doc: Add benchmark reports, atomic freelist docs, and .gitignore update
Phase 1 Commit: Comprehensive documentation and build system cleanup

Added Documentation:
- BENCHMARK_SUMMARY_20251122.md: Current performance baseline
- COMPREHENSIVE_BENCHMARK_REPORT_20251122.md: Detailed analysis
- LARSON_SLOWDOWN_INVESTIGATION_REPORT.md: Larson benchmark deep dive
- ATOMIC_FREELIST_*.md (5 files): Complete atomic freelist documentation
  - Implementation strategy, quick start, site-by-site guide
  - Index and summary for easy navigation

Added Scripts:
- run_comprehensive_benchmark.sh: Automated benchmark runner
- scripts/analyze_freelist_sites.sh: Freelist analysis tool
- scripts/verify_atomic_freelist_conversion.sh: Conversion verification

Build System:
- Updated .gitignore: Added *.d (build dependency files)
- Cleaned up tracked .d files (will be ignored going forward)

Performance Status (2025-11-22):
- Random Mixed 256B: 59.6M ops/s (VERIFIED WORKING)
- Benchmark command: ./out/release/bench_random_mixed_hakmem 10000000 256 42
- Known issue: workset=8192 causes SEGV (to be fixed separately)

Notes:
- bench_random_mixed.c already tracked, working state confirmed
- Ultra SLIM implementation backed up to /tmp/ (Phase 2 restore pending)
- Documentation covers atomic freelist conversion and benchmarking methodology

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 06:11:55 +09:00

142 lines
2.0 KiB
Plaintext

# Build artifacts
*.o
*.so
*.a
*.exe
*.d
bench_allocators
bench_asan
test_hakmem
test_evo
test_p2
test_sizeclass_dist
vm_profile
vm_profile_system
pf_test
memset_test
# Benchmark outputs
*.log
*.csv
# Windows Zone.Identifier files
*:Zone.Identifier
# Editor/IDE files
.vscode/
.idea/
*.swp
*~
# Python cache
__pycache__/
*.pyc
*.pyo
# Core dumps
core.*
# PGO profile data
*.gcda
*.gcno
# Binaries - benchmark executables
bench_allocators
bench_comprehensive_hakmem
bench_comprehensive_hakmi
bench_comprehensive_hakx
bench_comprehensive_mi
bench_comprehensive_system
bench_mid_large_hakmem
bench_mid_large_hakx
bench_mid_large_mi
bench_mid_large_mt_hakmem
bench_mid_large_mt_hakx
bench_mid_large_mt_mi
bench_mid_large_mt_system
bench_mid_large_system
bench_random_mixed_hakmi
bench_random_mixed_hakx
bench_random_mixed_mi
bench_random_mixed_system
bench_tiny_hot_direct
bench_tiny_hot_hakmi
bench_tiny_hot_hakx
bench_tiny_hot_mi
bench_tiny_hot_system
bench_fragment_stress_hakmem
bench_fragment_stress_mi
bench_fragment_stress_system
bench_burst_pause_hakmem
bench_burst_pause_mi
bench_burst_pause_system
test_offset
test_simple_mt
print_tiny_stats
# Benchmark results (keep in benchmarks/ directory)
*.txt
!benchmarks/*.md
# Perf data
perf.data
perf.data.old
perf_*.data
perf_*.data.old
# Perf data directory (organized)
perf_data/
# Local benchmark result directories
bench_results/
# Backup files
*.backup
# Temporary files
.tmp_*
*.tmp
# Archive directories
bench_results_archive/
.backup_*/
# External dependencies
glibc-*/
*.zip
*.tar.gz
# Memory measurement script
measure_memory.sh
# Additional perf data patterns
*perf.data
*perf.data.old
perf_data_*/
# Large log files
logs/*.err
logs/*.log
guard_*.log
asan_*.log
ubsan_*.log
*.err
# Worktrees (embedded git repos)
worktrees/
# Binary executables
larson_hakmem
larson_hakmem_asan
larson_hakmem_ubsan
larson_hakmem_tsan
bench_tiny_hot_hakmem
test_*
# All benchmark binaries
larson_*
bench_*
# Benchmark result files
benchmarks/results/snapshot_*/
*.out