draws sth 2
This commit is contained in:
+36
-30
@@ -4,46 +4,52 @@ CXXFLAGS = -O2 -std=c++17 -pthread
|
||||
TARGET = lab2
|
||||
SRC = main.cpp
|
||||
|
||||
LOG = log.txt
|
||||
PY = python3
|
||||
|
||||
# ================= BUILD =================
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(SRC)
|
||||
$(CXX) $(CXXFLAGS) $< -o $@
|
||||
|
||||
# обычный запуск
|
||||
run: $(TARGET)
|
||||
./$(TARGET) 20000 4
|
||||
# ================= 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
|
||||
|
||||
# запуск с сохранением лога
|
||||
log: $(TARGET)
|
||||
./$(TARGET) 20000 4 > $(LOG)
|
||||
# ================= BATCH 2 =================
|
||||
# FIXED LARGE WORKLOAD
|
||||
# VARYING THREAD COUNT
|
||||
batch_threads: $(TARGET)
|
||||
@echo "=== BATCH 2: scaling by threads (size = 200000) ==="
|
||||
./$(TARGET) 200000 0 > log_thr_0.txt
|
||||
./$(TARGET) 200000 2 > log_thr_2.txt
|
||||
./$(TARGET) 200000 4 > log_thr_4.txt
|
||||
./$(TARGET) 200000 8 > log_thr_8.txt
|
||||
|
||||
# анализ лога (таблица + график)
|
||||
analyze: log
|
||||
$(PY) analyze_log.py $(LOG)
|
||||
# ================= FULL BENCH =================
|
||||
bench: batch_size batch_threads
|
||||
|
||||
# быстрый полный цикл
|
||||
bench: $(TARGET)
|
||||
@echo "Running benchmark..."
|
||||
./$(TARGET) 20000 0 > log_0.txt
|
||||
./$(TARGET) 20000 2 > log_2.txt
|
||||
./$(TARGET) 20000 4 > log_4.txt
|
||||
./$(TARGET) 20000 8 > log_8.txt
|
||||
# ================= ANALYSIS =================
|
||||
analyze_size:
|
||||
$(PY) analyze_log.py log_size_5k.txt out/size/
|
||||
$(PY) analyze_log.py log_size_10k.txt out/size/
|
||||
$(PY) analyze_log.py log_size_20k.txt out/size/
|
||||
$(PY) analyze_log.py log_size_50k.txt out/size/
|
||||
$(PY) analyze_log.py log_size_100k.txt out/size/
|
||||
|
||||
# анализ конкретного лога
|
||||
analyze0:
|
||||
$(PY) analyze_log.py log_0.txt
|
||||
|
||||
analyze2:
|
||||
$(PY) analyze_log.py log_2.txt
|
||||
|
||||
analyze4:
|
||||
$(PY) analyze_log.py log_4.txt
|
||||
|
||||
analyze8:
|
||||
$(PY) analyze_log.py log_8.txt
|
||||
analyze_threads:
|
||||
$(PY) analyze_log.py log_thr_0.txt out/threads/
|
||||
$(PY) analyze_log.py log_thr_2.txt out/threads/
|
||||
$(PY) analyze_log.py log_thr_4.txt out/threads/
|
||||
$(PY) analyze_log.py log_thr_8.txt out/threads/
|
||||
|
||||
# ================= CLEAN =================
|
||||
clean:
|
||||
rm -f $(TARGET) *.txt
|
||||
rm -f $(TARGET) *.txt timeline.png
|
||||
|
||||
Reference in New Issue
Block a user