zstd/contrib/largeNbDicts
Yann Collet 59a7116cc2 benchfn dependencies reduced to only timefn
benchfn used to rely on mem.h, and util,
which in turn relied on platform.h.
Using benchfn outside of zstd required to bring all these dependencies.

Now, dependency is reduced to timefn only.
This required to create a separate timefn from util,
and rewrite benchfn and timefn to no longer need mem.h.

Separating timefn from util has a wide effect accross the code base,
as usage of time functions is widespread.
A lot of build scripts had to be updated to also include timefn.
2019-04-10 12:37:03 -07:00
..
.gitignore first working test program 2018-08-28 15:47:07 -07:00
largeNbDicts.c fixed multiple conversions 2018-12-13 14:02:22 -08:00
Makefile benchfn dependencies reduced to only timefn 2019-04-10 12:37:03 -07:00
README.md updated documentation 2018-09-04 14:57:45 -07:00

largeNbDicts

largeNbDicts is a benchmark test tool dedicated to the specific scenario of dictionary decompression using a very large number of dictionaries. When dictionaries are constantly changing, they are always "cold", suffering from increased latency due to cache misses.

The tool is created in a bid to investigate performance for this scenario, and experiment mitigation techniques.

Command line :

largeNbDicts [Options] filename(s)

Options :
-r           : recursively load all files in subdirectories (default: off)
-B#          : split input into blocks of size # (default: no split)
-#           : use compression level # (default: 3)
-D #         : use # as a dictionary (default: create one)
-i#          : nb benchmark rounds (default: 6)
--nbDicts=#  : set nb of dictionaries to # (default: one per block)
-h           : help (this text)