Files
hakmem/benchmarks/redis/run_redis_comparison.sh

47 lines
1.2 KiB
Bash
Raw Normal View History

#!/bin/bash
# Redis-style memory allocator comparison script
# Compares System, mimalloc, and HAKMEM allocators
echo "Redis-style Memory Allocator Benchmark"
echo "======================================"
echo "Comparing: System malloc vs mimalloc vs HAKMEM"
echo ""
BENCH="./benchmarks/redis/workload_bench_system"
MIMALLOC_LIB="/mnt/workdisk/public_share/hakmem/mimalloc-bench/extern/mi/out/release/libmimalloc.so"
HAKMEM_LIB="./libhakmem.so"
THREADS=1
CYCLES=100
OPS=1000
# Test parameters
echo "Test Parameters:"
echo " Threads: $THREADS"
echo " Cycles: $CYCLES"
echo " Operations per cycle: $OPS"
echo " Size range: 16-1024 bytes"
echo ""
# Run System malloc benchmark
echo "=== 1. System malloc ==="
$BENCH -t $THREADS -c $CYCLES -o $OPS
echo ""
# Run mimalloc benchmark
echo "=== 2. mimalloc ==="
LD_PRELOAD=$MIMALLOC_LIB $BENCH -t $THREADS -c $CYCLES -o $OPS
echo ""
# Run HAKMEM benchmark (if shared library works)
echo "=== 3. HAKMEM ==="
if [ -f "$HAKMEM_LIB" ]; then
LD_PRELOAD=$HAKMEM_LIB $BENCH -t $THREADS -c $CYCLES -o $OPS || echo "HAKMEM: Failed"
else
echo "HAKMEM shared library not found"
fi
echo ""
echo "Summary:"
echo "========"
echo "Performance comparison of Redis-style workloads (16-1024B allocations)"