74 lines
1.9 KiB
Makefile
74 lines
1.9 KiB
Makefile
|
# Simple benchmarking for linux
|
||
|
|
||
|
CPU_MODEL=$(shell cat /proc/cpuinfo | grep "model name" | head -n 1 | cut -d ":" -f 2 | sed 's/^[ \t]*//')
|
||
|
export CPU_MODEL
|
||
|
|
||
|
KERNEL=$(shell uname -r)
|
||
|
DATE=$(shell date +"%Y-%m-%d")
|
||
|
|
||
|
# Suitable file name for the cpu model
|
||
|
FILE_NAME1=$(shell echo "$(CPU_MODEL)" | sed 's/ /_/g' | sed 's/__*/_/g')
|
||
|
|
||
|
# Remove everything inside parens
|
||
|
FILE_NAME=$(shell echo "$(FILE_NAME1)" | sed 's/([^()]*)//g')
|
||
|
|
||
|
NPROC=$(shell nproc)
|
||
|
|
||
|
SINGLE_CORE_FILE=$(FILE_NAME)-single-core.log
|
||
|
MULTI_CORE_FILE=$(FILE_NAME)-multi-core.log
|
||
|
LSCPU_FILE=$(FILE_NAME)-lscpu.log
|
||
|
DMIDECODE_FILE=$(FILE_NAME)-dmidecode.log
|
||
|
|
||
|
# Ensure all the deps are installed
|
||
|
entry:
|
||
|
@echo "CPU Model: $(CPU_MODEL)"
|
||
|
@echo "File Name: $(FILE_NAME)"
|
||
|
@echo "Kernel: $(KERNEL)"
|
||
|
@echo -e "Number of processors: $(NPROC)\n"
|
||
|
|
||
|
@# Check dependencies
|
||
|
@which sysbench &> /dev/null || (echo "sysbench not installed" && exit 1)
|
||
|
@which lscpu &> /dev/null || (echo "lscpu not installed" && exit 1)
|
||
|
@which 7za &> /dev/null || (echo "7za not installed" && exit 1)
|
||
|
@which dmidecode &> /dev/null || (echo "dmidecode not installed" && exit 1)
|
||
|
|
||
|
@# Check root
|
||
|
@[ `id -u` -eq 0 ] || (echo "Please run as root" && exit 1)
|
||
|
|
||
|
@echo -e "\nAll dependencies are installed"
|
||
|
make all
|
||
|
|
||
|
@echo -e "\033[0;32mSuccess!\033[0m"
|
||
|
|
||
|
all: $(LSCPU_FILE) $(SINGLE_CORE_FILE) $(MULTI_CORE_FILE) $(DMIDECODE_FILE)
|
||
|
tar -cvzf $(FILE_NAME)-$(DATE).tar.gz $^ Makefile
|
||
|
|
||
|
$(SINGLE_CORE_FILE):
|
||
|
sysbench cpu run > $@
|
||
|
|
||
|
$(MULTI_CORE_FILE):
|
||
|
sysbench cpu run --num-threads=$(NPROC) > $@
|
||
|
|
||
|
$(LSCPU_FILE):
|
||
|
lscpu > $@
|
||
|
|
||
|
$(DMIDECODE_FILE):
|
||
|
dmidecode > $@
|
||
|
|
||
|
install:
|
||
|
pacman -S sysbench lscpu p7zip dmi-decode
|
||
|
|
||
|
clean:
|
||
|
rm *.log *.tar.gz
|
||
|
|
||
|
# Sysbench Memory
|
||
|
# sysbench-mem:
|
||
|
# sysbench --test=memory --memory-block-size=1M --memory-total-size=10G run
|
||
|
|
||
|
# # Sysbench Threads
|
||
|
# sysbench-threads:
|
||
|
# sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=6 run
|
||
|
|
||
|
# 7za:
|
||
|
# 7za b
|