[redis-benchmark] Adding --seed option to seed the RNG (#11945)
Adds ability to set the random seed so that more consistent repeatable benchmarks are possible. Example usage: Adding 2 hash items ``` src/redis-benchmark -r 100 -n 2 --seed 250 hset myhash:__rand_int__ age __rand_int__ ``` Monitor: 1st benchmark invocation: ``` 1679332814.824357 [0 127.0.0.1:36686] "hset" "myhash:000000000022" "age" "000000000069" 1679332814.824404 [0 127.0.0.1:36690] "hset" "myhash:000000000007" "age" "000000000043" ``` 2nd benchmark invocation: ``` 1679332814.824357 [0 127.0.0.1:36686] "hset" "myhash:000000000022" "age" "000000000069" 1679332814.824404 [0 127.0.0.1:36690] "hset" "myhash:000000000007" "age" "000000000043" ```
This commit is contained in:
parent
f32d1817e3
commit
8163e816fe
@ -1496,6 +1496,11 @@ int parseOptions(int argc, char **argv) {
|
||||
fprintf(stderr,
|
||||
"WARNING: -e option has no effect. "
|
||||
"We now immediately exit on error to avoid false results.\n");
|
||||
} else if (!strcmp(argv[i],"--seed")) {
|
||||
if (lastarg) goto invalid;
|
||||
int rand_seed = atoi(argv[++i]);
|
||||
srandom(rand_seed);
|
||||
init_genrand64(rand_seed);
|
||||
} else if (!strcmp(argv[i],"-t")) {
|
||||
if (lastarg) goto invalid;
|
||||
/* We get the list of tests to run as a string in the form
|
||||
@ -1641,7 +1646,8 @@ usage:
|
||||
" The -t option is ignored if a specific command is supplied\n"
|
||||
" on the command line.\n"
|
||||
" -I Idle mode. Just open N idle connections and wait.\n"
|
||||
" -x Read last argument from STDIN.\n",
|
||||
" -x Read last argument from STDIN.\n"
|
||||
" --seed <num> Set the seed for random number generator. Default seed is based on time.\n",
|
||||
tls_usage,
|
||||
" --help Output this help and exit.\n"
|
||||
" --version Output version and exit.\n\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user