/
githubmirror
/
redis
Обзор
Документация
Войти
/
githubmirror
/
redis
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
unstable
utils/hyperloglog/hll-err.rb
30 строк
777 B
Pieter Cailliau
Adding AGPLv3 as a license option to Redis! (#13997)
01 май 2025, 16:04
Не верифицирован
01 май 2025, 16:04
d651028
Код
Авторство
О чём код?
# hll-err.rb - Copyright (C) 2014-Present Redis Ltd. # # Licensed under your choice of (a) the Redis Source Available License 2.0 # (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the # GNU Affero General Public License v3 (AGPLv3). # # Check error of HyperLogLog Redis implementation for different set sizes. require 'rubygems' require 'redis' require 'digest/sha1' r = Redis.new r.del('hll') i = 0 while true do 100.times { elements = [] 1000.times { ele = Digest::SHA1.hexdigest(i.to_s) elements << ele i += 1 } r.pfadd('hll',elements) } approx = r.pfcount('hll') abs_err = (approx-i).abs rel_err = 100.to_f*abs_err/i puts "#{i} vs #{approx}: #{rel_err}%" end