summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2014-03-31 19:16:47 +0200
committerantirez <antirez@gmail.com>2014-03-31 19:29:40 +0200
commite887c62e451e94dfb096a31f95888615cd2d7291 (patch)
tree81b3ef1f00b911ccf3a1bff00bedbfbb8995f606
parentf1b76081281ca088a95401cf074ab8ccce6005fa (diff)
downloadredis-e887c62e451e94dfb096a31f95888615cd2d7291.tar.gz
HyperLogLog: make API use the P prefix in honor of Philippe Flajolet.
-rw-r--r--src/hyperloglog.c14
-rw-r--r--src/redis.c8
-rw-r--r--src/redis.h8
-rw-r--r--utils/hyperloglog/hll-err.rb4
-rw-r--r--utils/hyperloglog/hll-gnuplot-graph.rb4
5 files changed, 19 insertions, 19 deletions
diff --git a/src/hyperloglog.c b/src/hyperloglog.c
index f62a05d1d..3fbca201d 100644
--- a/src/hyperloglog.c
+++ b/src/hyperloglog.c
@@ -435,8 +435,8 @@ uint64_t hllCount(uint8_t *registers) {
/* ========================== HyperLogLog commands ========================== */
-/* HLLADD var ele ele ele ... ele => :0 or :1 */
-void hllAddCommand(redisClient *c) {
+/* PADD var ele ele ele ... ele => :0 or :1 */
+void paddCommand(redisClient *c) {
robj *o = lookupKeyWrite(c->db,c->argv[1]);
uint8_t *registers;
int updated = 0, j;
@@ -482,8 +482,8 @@ void hllAddCommand(redisClient *c) {
addReply(c, updated ? shared.cone : shared.czero);
}
-/* HLLCOUNT var -> approximated cardinality of set. */
-void hllCountCommand(redisClient *c) {
+/* PCOUNT var -> approximated cardinality of set. */
+void pcountCommand(redisClient *c) {
robj *o = lookupKeyRead(c->db,c->argv[1]);
uint8_t *registers;
uint64_t card;
@@ -540,8 +540,8 @@ void hllCountCommand(redisClient *c) {
}
}
-/* HLLMERGE dest src1 src2 src3 ... srcN => OK */
-void hllMergeCommand(redisClient *c) {
+/* PMERGE dest src1 src2 src3 ... srcN => OK */
+void pmergeCommand(redisClient *c) {
uint8_t max[REDIS_HLL_REGISTERS];
uint8_t *registers;
int j, i;
@@ -614,7 +614,7 @@ void hllMergeCommand(redisClient *c) {
* the correct value to be retained and not affect adjacent values. */
#define REDIS_HLL_TEST_CYCLES 1000
-void hllSelftestCommand(redisClient *c) {
+void pselftestCommand(redisClient *c) {
int j, i;
sds bitcounters = sdsnewlen(NULL,REDIS_HLL_SIZE);
uint8_t bytecounters[REDIS_HLL_REGISTERS];
diff --git a/src/redis.c b/src/redis.c
index e248e5df9..dbcf561fe 100644
--- a/src/redis.c
+++ b/src/redis.c
@@ -268,10 +268,10 @@ struct redisCommand redisCommandTable[] = {
{"bitcount",bitcountCommand,-2,"r",0,NULL,1,1,1,0,0},
{"bitpos",bitposCommand,-3,"r",0,NULL,1,1,1,0,0},
{"wait",waitCommand,3,"rs",0,NULL,0,0,0,0,0},
- {"hllselftest",hllSelftestCommand,1,"r",0,NULL,0,0,0,0,0},
- {"hlladd",hllAddCommand,-2,"wm",0,NULL,1,1,1,0,0},
- {"hllcount",hllCountCommand,2,"w",0,NULL,1,1,1,0,0},
- {"hllmerge",hllMergeCommand,-2,"wm",0,NULL,1,-1,1,0,0}
+ {"pselftest",pselftestCommand,1,"r",0,NULL,0,0,0,0,0},
+ {"padd",paddCommand,-2,"wm",0,NULL,1,1,1,0,0},
+ {"pcount",pcountCommand,2,"w",0,NULL,1,1,1,0,0},
+ {"pmerge",pmergeCommand,-2,"wm",0,NULL,1,-1,1,0,0}
};
struct evictionPoolEntry *evictionPoolAlloc(void);
diff --git a/src/redis.h b/src/redis.h
index b091ff3d6..b7857dfa8 100644
--- a/src/redis.h
+++ b/src/redis.h
@@ -1448,10 +1448,10 @@ void bitcountCommand(redisClient *c);
void bitposCommand(redisClient *c);
void replconfCommand(redisClient *c);
void waitCommand(redisClient *c);
-void hllSelftestCommand(redisClient *c);
-void hllAddCommand(redisClient *c);
-void hllCountCommand(redisClient *c);
-void hllMergeCommand(redisClient *c);
+void pselftestCommand(redisClient *c);
+void paddCommand(redisClient *c);
+void pcountCommand(redisClient *c);
+void pmergeCommand(redisClient *c);
#if defined(__GNUC__)
void *calloc(size_t count, size_t size) __attribute__ ((deprecated));
diff --git a/utils/hyperloglog/hll-err.rb b/utils/hyperloglog/hll-err.rb
index c40cfc7c3..8481844bc 100644
--- a/utils/hyperloglog/hll-err.rb
+++ b/utils/hyperloglog/hll-err.rb
@@ -18,9 +18,9 @@ while true do
elements << ele
i += 1
}
- r.hlladd('hll',*elements)
+ r.padd('hll',*elements)
}
- approx = r.hllcount('hll')
+ approx = r.pcount('hll')
abs_err = (approx-i).abs
rel_err = 100.to_f*abs_err/i
puts "#{i} vs #{approx}: #{rel_err}%"
diff --git a/utils/hyperloglog/hll-gnuplot-graph.rb b/utils/hyperloglog/hll-gnuplot-graph.rb
index 20d7b35aa..41e7f717a 100644
--- a/utils/hyperloglog/hll-gnuplot-graph.rb
+++ b/utils/hyperloglog/hll-gnuplot-graph.rb
@@ -30,9 +30,9 @@ def run_experiment(r,seed,max,step)
elements << ele
i += 1
}
- r.hlladd('hll',*elements)
+ r.padd('hll',*elements)
}
- approx = r.hllcount('hll')
+ approx = r.pcount('hll')
err = approx-i
rel_err = 100.to_f*err/i
samples << [i,rel_err]