Merge pull request #7196 from ShooterIT/benchmark

Redis Benchmark: make test data better
This commit is contained in:
Salvatore Sanfilippo 2020-05-19 16:16:38 +02:00 committed by GitHub
commit d949e8fe18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1278,6 +1278,17 @@ static void updateClusterSlotsConfiguration() {
pthread_mutex_unlock(&config.is_updating_slots_mutex); pthread_mutex_unlock(&config.is_updating_slots_mutex);
} }
/* Generate random data for redis benchmark. See #7196. */
static void genBenchmarkRandomData(char *data, int count) {
static uint32_t state = 1234;
int i = 0;
while (count--) {
state = (state*1103515245+12345);
data[i++] = '0'+((state>>16)&63);
}
}
/* Returns number of consumed options. */ /* Returns number of consumed options. */
int parseOptions(int argc, const char **argv) { int parseOptions(int argc, const char **argv) {
int i; int i;
@ -1632,7 +1643,7 @@ int main(int argc, const char **argv) {
/* Run default benchmark suite. */ /* Run default benchmark suite. */
data = zmalloc(config.datasize+1); data = zmalloc(config.datasize+1);
do { do {
memset(data,'x',config.datasize); genBenchmarkRandomData(data, config.datasize);
data[config.datasize] = '\0'; data[config.datasize] = '\0';
if (test_is_selected("ping_inline") || test_is_selected("ping")) if (test_is_selected("ping_inline") || test_is_selected("ping"))