mirror of
https://github.com/facebook/zstd.git
synced 2025-10-10 00:03:36 -04:00
updated documentation
This commit is contained in:
parent
11b8b8c100
commit
1d487d587f
@ -3,17 +3,23 @@ largeNbDicts
|
|||||||
|
|
||||||
`largeNbDicts` is a benchmark test tool
|
`largeNbDicts` is a benchmark test tool
|
||||||
dedicated to the specific scenario of
|
dedicated to the specific scenario of
|
||||||
dictionary decompression using a very large number of dictionaries,
|
dictionary decompression using a very large number of dictionaries.
|
||||||
which suffers from increased latency due to cache misses.
|
When dictionaries are constantly changing, they are always "cold",
|
||||||
It's created in a bid to investigate performance for this scenario,
|
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.
|
and experiment mitigation techniques.
|
||||||
|
|
||||||
Command line :
|
Command line :
|
||||||
```
|
```
|
||||||
$ largeNbDicts filename [Options]
|
largeNbDicts [Options] filename(s)
|
||||||
|
|
||||||
Options :
|
Options :
|
||||||
--clevel=# : use compression level # (default: 3)
|
-r : recursively load all files in subdirectories (default: off)
|
||||||
--blockSize=# : cut input into blocks of size # (default: 4096)
|
-B# : split input into blocks of size # (default: no split)
|
||||||
--dictionary=# : use # as a dictionary (default: create one)
|
-# : 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)
|
--nbDicts=# : set nb of dictionaries to # (default: one per block)
|
||||||
|
-h : help (this text)
|
||||||
```
|
```
|
||||||
|
@ -716,10 +716,11 @@ static unsigned longCommandWArg(const char** stringPtr, const char* longCommand)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int bad_usage(const char* exeName)
|
int usage(const char* exeName)
|
||||||
{
|
{
|
||||||
DISPLAY (" bad usage : \n");
|
DISPLAY (" \n");
|
||||||
DISPLAY (" %s filename [Options] \n", exeName);
|
DISPLAY (" %s [Options] filename(s) \n", exeName);
|
||||||
|
DISPLAY (" \n");
|
||||||
DISPLAY ("Options : \n");
|
DISPLAY ("Options : \n");
|
||||||
DISPLAY ("-r : recursively load all files in subdirectories (default: off) \n");
|
DISPLAY ("-r : recursively load all files in subdirectories (default: off) \n");
|
||||||
DISPLAY ("-B# : split input into blocks of size # (default: no split) \n");
|
DISPLAY ("-B# : split input into blocks of size # (default: no split) \n");
|
||||||
@ -727,6 +728,14 @@ int bad_usage(const char* exeName)
|
|||||||
DISPLAY ("-D # : use # as a dictionary (default: create one) \n");
|
DISPLAY ("-D # : use # as a dictionary (default: create one) \n");
|
||||||
DISPLAY ("-i# : nb benchmark rounds (default: %u) \n", BENCH_TIME_DEFAULT_S);
|
DISPLAY ("-i# : nb benchmark rounds (default: %u) \n", BENCH_TIME_DEFAULT_S);
|
||||||
DISPLAY ("--nbDicts=# : create # dictionaries for bench (default: one per block) \n");
|
DISPLAY ("--nbDicts=# : create # dictionaries for bench (default: one per block) \n");
|
||||||
|
DISPLAY ("-h : help (this text) \n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int bad_usage(const char* exeName)
|
||||||
|
{
|
||||||
|
DISPLAY (" bad usage : \n");
|
||||||
|
usage(exeName);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -749,6 +758,7 @@ int main (int argc, const char** argv)
|
|||||||
|
|
||||||
for (int argNb = 1; argNb < argc ; argNb++) {
|
for (int argNb = 1; argNb < argc ; argNb++) {
|
||||||
const char* argument = argv[argNb];
|
const char* argument = argv[argNb];
|
||||||
|
if (!strcmp(argument, "-h")) { return usage(exeName); }
|
||||||
if (!strcmp(argument, "-r")) { recursiveMode = 1; continue; }
|
if (!strcmp(argument, "-r")) { recursiveMode = 1; continue; }
|
||||||
if (!strcmp(argument, "-D")) { argNb++; assert(argNb < argc); dictionary = argv[argNb]; continue; }
|
if (!strcmp(argument, "-D")) { argNb++; assert(argNb < argc); dictionary = argv[argNb]; continue; }
|
||||||
if (longCommandWArg(&argument, "-i")) { nbRounds = readU32FromChar(&argument); continue; }
|
if (longCommandWArg(&argument, "-i")) { nbRounds = readU32FromChar(&argument); continue; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user