refresh 2 graphs

This commit is contained in:
2026-04-28 15:42:35 +07:00
parent d2f31b91bf
commit 6b28730549
5 changed files with 400136 additions and 167 deletions
+13 -50
View File
@@ -1,59 +1,22 @@
CXX = g++
CXXFLAGS = -O2 -std=c++17 -pthread
CXXFLAGS = -O3 -std=c++17 -pthread
TARGET = lab2
SRC = main.cpp
PY = python3
EXPORTER = exporter.py
# ================= BUILD =================
all: $(TARGET)
$(TARGET): $(SRC)
$(CXX) $(CXXFLAGS) $< -o $@
$(TARGET): main.cpp
$(CXX) $(CXXFLAGS) main.cpp -o $(TARGET)
# ================= BATCH 1 =================
# FIXED THREAD COUNT = 2
# VARYING WORKLOAD SIZE
batch_size: $(TARGET)
@echo "=== BATCH 1: scaling by size (threads = 2) ==="
./$(TARGET) 5000 2 > log_size_5k.txt
./$(TARGET) 10000 2 > log_size_10k.txt
./$(TARGET) 20000 2 > log_size_20k.txt
./$(TARGET) 50000 2 > log_size_50k.txt
./$(TARGET) 100000 2 > log_size_100k.txt
run_all: $(TARGET)
@mkdir -p out/timelines
@echo "1. Generating Timelines (N=1000, Threshold=10)..."
./$(TARGET) 1000 2 10 > out/timelines/log_t2.txt
./$(TARGET) 1000 4 10 > out/timelines/log_t4.txt
python3 exporter.py out/timelines/log_t2.txt out/timelines/
python3 exporter.py out/timelines/log_t4.txt out/timelines/
# ================= BATCH 2 =================
# FIXED LARGE WORKLOAD
# VARYING THREAD COUNT
batch_threads: $(TARGET)
@echo "=== BATCH 2: scaling by threads (size = 50000) ==="
./$(TARGET) 50000 0 > log_thr_0.txt
./$(TARGET) 50000 2 > log_thr_2.txt
./$(TARGET) 50000 4 > log_thr_4.txt
./$(TARGET) 50000 8 > log_thr_8.txt
@echo "2. Generating Efficiency Benchmark..."
python3 benchmark.py
# ================= FULL BENCH =================
logs: batch_size batch_threads
# ================= ANALYSIS =================
analyze_size: batch_size
$(PY) $(EXPORTER) log_size_5k.txt out/size/
$(PY) $(EXPORTER) log_size_10k.txt out/size/
$(PY) $(EXPORTER) log_size_20k.txt out/size/
$(PY) $(EXPORTER) log_size_50k.txt out/size/
$(PY) $(EXPORTER) log_size_100k.txt out/size/
analyze_threads: batch_threads
$(PY) $(EXPORTER) log_thr_0.txt out/threads/
$(PY) $(EXPORTER) log_thr_2.txt out/threads/
$(PY) $(EXPORTER) log_thr_4.txt out/threads/
$(PY) $(EXPORTER) log_thr_8.txt out/threads/
# ================= FULL ANALYZE =================
analyze: logs analyze_size analyze_threads
# ================= CLEAN =================
clean:
rm -f $(TARGET) *.txt timeline.png
rm -rf $(TARGET) *.txt out/