54 lines
1.4 KiB
Makefile
54 lines
1.4 KiB
Makefile
CC= gcc
|
|
CXX= g++
|
|
CFLAGS= -g -Wall -O2 -fomit-frame-pointer -march=native -lm -include stddef.h
|
|
CXXFLAGS= $(CFLAGS)
|
|
LDFLAGS=
|
|
OBJS=
|
|
LIBS= -lm
|
|
|
|
all: run
|
|
|
|
benchmarks:
|
|
git clone https://github.com/attractivechaos/benchmarks.git
|
|
|
|
build: benchmarks
|
|
mkdir -p benchmarks/udb/mlib
|
|
cp test-mlib.c benchmarks/udb/mlib/test.c
|
|
cp Makefile-mlib benchmarks/udb/mlib/Makefile
|
|
mkdir -p benchmarks/udb/mlib-oa
|
|
cp test-mlib-oa.c benchmarks/udb/mlib-oa/test.c
|
|
cp Makefile-mlib benchmarks/udb/mlib-oa/Makefile
|
|
touch build
|
|
|
|
all-recur: build
|
|
cd benchmarks/udb; \
|
|
wdir=`pwd`; \
|
|
list_c=`find . -name 'test.c'`; \
|
|
list_cc=`find . -name 'test.cc'`; \
|
|
for t in $$list_c $$list_cc ; do \
|
|
subdir=`dirname $$t`; \
|
|
cd $$subdir; \
|
|
$(MAKE) CC="$(CC)" CXX="$(CXX)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" || exit 1; \
|
|
cd $$wdir; \
|
|
done;
|
|
|
|
run: all-recur
|
|
@cd benchmarks/udb; \
|
|
echo ; echo "LIBRARY | INT TIME | STR TIME" ; \
|
|
for i in `find . -name 'test'` ; do \
|
|
printf "%s|" `dirname $$i|sed -e 's+./++g'`; \
|
|
$$i -is | awk ' \
|
|
/\[int data\] # element/ { nbInt= $$5 } \
|
|
/\[int data\] CPU time/ {timeInt= $$5 } \
|
|
/\[str data\] # element/ { nbStr= $$5 } \
|
|
/\[str data\] CPU time/ {timeStr= $$5 } \
|
|
END { \
|
|
if (nbInt != 624444) timeInt="BRK" ; \
|
|
if (nbStr != 624444) timeStr="BRK" ; \
|
|
print timeInt,"|" ,timeStr \
|
|
}' ; \
|
|
done
|
|
|
|
clean:
|
|
rm -rf benchmarks build
|