From aaf7f6275cfc237e924465560a12ce2f131f4408 Mon Sep 17 00:00:00 2001 From: Mathis Rosenhauer Date: Tue, 18 Feb 2014 10:39:18 +0100 Subject: [PATCH] benchmarking for encoding and decoding --- Makefile.am | 9 ++++++++- tests/Makefile.am | 8 +++++++- tests/bdec.sh | 19 +++++++++++++++++++ tests/benc.sh | 22 ++++++++++++++++++++++ 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100755 tests/bdec.sh create mode 100755 tests/benc.sh diff --git a/Makefile.am b/Makefile.am index 620b055..5003d8c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,10 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = src tests -EXTRA_DIST = doc/license.txt doc/logo.svg \ No newline at end of file +EXTRA_DIST = doc/license.txt doc/logo.svg +bench: all + cd tests && $(MAKE) $(AM_MAKEFLAGS) bench +benc: all + cd tests && $(MAKE) $(AM_MAKEFLAGS) benc +bdec: all + cd tests && $(MAKE) $(AM_MAKEFLAGS) bdec +.PHONY: bench benc bdec diff --git a/tests/Makefile.am b/tests/Makefile.am index 1a1a7f1..6fd6f55 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -14,4 +14,10 @@ check_long_fs_SOURCES = check_long_fs.c check_aec.h \ $(top_builddir)/src/libaec.h LDADD = libcheck_aec.la $(top_builddir)/src/libaec.la -EXTRA_DIST = sampledata.sh +EXTRA_DIST = sampledata.sh benc.sh bdec.sh +bench: benc bdec +benc: + ./benc.sh +bdec: + ./bdec.sh +.PHONY: bench benc bdec diff --git a/tests/bdec.sh b/tests/bdec.sh new file mode 100755 index 0000000..703bb60 --- /dev/null +++ b/tests/bdec.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +AEC=../src/aec + +if [ ! -f bench.rz ]; then + echo "No encoded file found. Encoding now..." + ./benc.sh +fi +rm -f dec.dat +bsize=$(stat -c "%s" bench.dat) +utime=$( + ( + /usr/bin/time -f "%U" $AEC -d -n16 -j64 -r256 -m -c \ + bench.rz > dec.dat + ) 2>&1 +) +perf=$(echo "$bsize/1048576/$utime" | bc) +echo "*** Decoding with $perf MiB/s user time ***" +cmp bench.dat dec.dat diff --git a/tests/benc.sh b/tests/benc.sh new file mode 100755 index 0000000..921ded4 --- /dev/null +++ b/tests/benc.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +AEC=../src/aec + +if [ ! -f typical.dat ]; then + wget https://www.dkrz.de/redmine/attachments/download/441/typical.dat +fi +if [ ! -f bench.dat ]; then + for i in $(seq 0 499); + do + cat typical.dat >> bench.dat + done +fi +rm -f bench.rz +utime=$( + ( + /usr/bin/time -f "%U" $AEC -n16 -j64 -r256 -m -c bench.dat > bench.rz + ) 2>&1 +) +bsize=$(stat -c "%s" bench.dat) +perf=$(echo "$bsize/1048576/$utime" | bc) +echo "*** Encoding with $perf MiB/s user time ***" -- 2.7.4