mirror of
http://github.com/valkey-io/valkey
synced 2024-11-22 09:17:20 +00:00
5075e74366
`hdr_value_at_percentile()` is part of the Hdr_Histogram library used when generating `latencystats` report. There's a pending optimization for this function which greatly affects the performance of `info latencystats`. https://github.com/HdrHistogram/HdrHistogram_c/pull/107 This PR: 1. Upgrades the sources in _deps/hdr_histogram_ to the latest Hdr_Histogram version 0.11.5 2. Applies the referenced optimization. 3. Adds minor documentation about the hdr_histogram dependency which was missing under _deps/README.md_. benchmark on my machine: running: `redis-benchmark -n 100000 info latencystats` on a clean build with no data. | benchmark | RPS | | ---- | ---- | | before upgrade to v0.11.05 | 7,681 | | before optimization | 12,474 | | after optimization | 52,606 | Co-authored-by: filipe oliveira <filipecosta.90@gmail.com>
23 lines
631 B
C
23 lines
631 B
C
#ifndef HDR_TESTS_H
|
|
#define HDR_TESTS_H
|
|
|
|
/* These are functions used in tests and are not intended for normal usage. */
|
|
|
|
#include "hdr_histogram.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
int32_t counts_index_for(const struct hdr_histogram* h, int64_t value);
|
|
int hdr_encode_compressed(struct hdr_histogram* h, uint8_t** compressed_histogram, size_t* compressed_len);
|
|
int hdr_decode_compressed(uint8_t* buffer, size_t length, struct hdr_histogram** histogram);
|
|
void hdr_base64_decode_block(const char* input, uint8_t* output);
|
|
void hdr_base64_encode_block(const uint8_t* input, char* output);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|