aboutsummaryrefslogtreecommitdiff
path: root/src/zlib-ng/test/benchmarks/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/zlib-ng/test/benchmarks/README.md')
-rw-r--r--src/zlib-ng/test/benchmarks/README.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/zlib-ng/test/benchmarks/README.md b/src/zlib-ng/test/benchmarks/README.md
new file mode 100644
index 0000000..5dce7f5
--- /dev/null
+++ b/src/zlib-ng/test/benchmarks/README.md
@@ -0,0 +1,47 @@
+## Benchmarks
+These benchmarks are written using [Google Benchmark](https://github.com/google/benchmark).
+
+*Repetitions*
+
+To increase the number of times each benchmark iteration is run use:
+
+```
+--benchmark_repetitions=20
+```
+
+*Filters*
+
+To filter out which benchmarks are performed use:
+
+```
+--benchmark_filter="adler32*"
+```
+
+There are two different benchmarks, micro and macro.
+
+### Benchmark benchmark_zlib
+These are microbenchmarks intended to test lower level subfunctions of the library.
+
+Benchmarks include impelementations of:
+ - Adler32
+ - CRC
+ - 256 byte comparisons
+ - SIMD accelerated "slide hash" routine
+
+By default these benchmarks report things on the nanosecond scale and are small enough
+to measure very minute diferences.
+
+### Benchmark benchmark_zlib_apps
+These benchmarks measure applications of zlib as a whole. Currently the only examples
+are PNG encoding and decoding. The PNG encode and decode tests leveraging procedurally
+generated and highly compressible image data.
+
+Additionally, a test called `png_decode_realistic` that will decode any RGB 8 BPP encoded
+set of PNGs in the working directory under a directory named "test_pngs" with files named
+{0..1}.png. If these images do not exist, they will error out and the benchmark will move
+on to the next set of benchmarks.
+
+*benchmark_zlib_apps_alt*
+
+The user can compile a comparison benchmark application linking to any zlib-compatible
+implementation of his or her choosing.