diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-02-01 21:22:38 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2021-02-01 21:22:38 +0100 |
commit | 8198be8fb6f81e987c3d0a2f334f61914f77c84b (patch) | |
tree | ff47ac7e48ba952c8f9ae7e8194ae3c396f619b2 /test | |
parent | e522e5cdb583d20b712c7d9c842fc6ce9d3fe17d (diff) |
Add faster mode with huffman -> code look-up table
2x to 5x speed-up at the cost of ~600B of RAM. Compile with -DDEFLATE_WITH_LUT
Diffstat (limited to 'test')
-rwxr-xr-x | test/compile-c++11.sh | 2 | ||||
-rwxr-xr-x | test/compile-c++20.sh | 2 | ||||
-rwxr-xr-x | test/compile-c11.sh | 2 | ||||
-rwxr-xr-x | test/compile-c99.sh | 2 | ||||
-rwxr-xr-x | test/test.sh | 20 |
5 files changed, 20 insertions, 8 deletions
diff --git a/test/compile-c++11.sh b/test/compile-c++11.sh index cb13625..b3305a5 100755 --- a/test/compile-c++11.sh +++ b/test/compile-c++11.sh @@ -1,3 +1,3 @@ #!/bin/sh -exec g++ -std=c++11 -Wall -Wextra -pedantic -I../src -o inflate inflate-app.c ../src/inflate.c +exec g++ -std=c++11 -O2 -Wall -Wextra -pedantic -I../src "$@" -o inflate inflate-app.c ../src/inflate.c diff --git a/test/compile-c++20.sh b/test/compile-c++20.sh index 502063b..aa9f02a 100755 --- a/test/compile-c++20.sh +++ b/test/compile-c++20.sh @@ -1,4 +1,4 @@ #!/bin/sh # g++ as provided by Debian Buster (used for CI tests) does not support c++20 -exec g++ -std=c++2a -Wall -Wextra -pedantic -I../src -o inflate inflate-app.c ../src/inflate.c +exec g++ -std=c++2a -O2 -Wall -Wextra -pedantic -I../src "$@" -o inflate inflate-app.c ../src/inflate.c diff --git a/test/compile-c11.sh b/test/compile-c11.sh index 87ec632..c9ba1c4 100755 --- a/test/compile-c11.sh +++ b/test/compile-c11.sh @@ -1,3 +1,3 @@ #!/bin/sh -exec gcc -std=c11 -Wall -Wextra -pedantic -I../src -o inflate inflate-app.c ../src/inflate.c +exec gcc -std=c11 -O2 -Wall -Wextra -pedantic -I../src "$@" -o inflate inflate-app.c ../src/inflate.c diff --git a/test/compile-c99.sh b/test/compile-c99.sh index 4583ebf..c13617d 100755 --- a/test/compile-c99.sh +++ b/test/compile-c99.sh @@ -1,3 +1,3 @@ #!/bin/sh -exec gcc -std=c99 -Wall -Wextra -pedantic -I../src -o inflate inflate-app.c ../src/inflate.c +exec gcc -std=c99 -O2 -Wall -Wextra -pedantic -I../src "$@" -o inflate inflate-app.c ../src/inflate.c diff --git a/test/test.sh b/test/test.sh index 44104d5..60e3e26 100755 --- a/test/test.sh +++ b/test/test.sh @@ -4,10 +4,7 @@ set -eu cd "$(dirname "$0")" -for std in c++11 c++20 c99 c11; do - - "./compile-${std}.sh" - +run_tests() { for file in $(find .. -type f -size -32760c); do if ! ./deflate $file | ./inflate > tmp; then echo "inflate error at $file" @@ -15,6 +12,21 @@ for std in c++11 c++20 c99 c11; do fi diff $file tmp done +} + +for std in c++11 c++20 c99 c11; do + + "./compile-${std}.sh" + run_tests + + "./compile-${std}.sh" -DDEFLATE_CHECKSUM + run_tests + + "./compile-${std}.sh" -DDEFLATE_WITH_LUT + run_tests + + "./compile-${std}.sh" -DDEFLATE_CHECKSUM -DDEFLATE_WITH_LUT + run_tests done |