summaryrefslogtreecommitdiffstats
path: root/utils/srandmember/showdist.rb
blob: 243585700c2c8e9d6ec07c23fe8206cc67f7542e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
require 'redis'

r = Redis.new
r.select(9)
r.del("myset");
r.sadd("myset",(0..999).to_a)
freq = {}
100.times {
    res = r.pipelined {
        1000.times {
            r.srandmember("myset")
        }
    }
    res.each{|ele|
        freq[ele] = 0 if freq[ele] == nil
        freq[ele] += 1
    }
}

# Convert into frequency distribution
dist = {}
freq.each{|item,count|
    dist[count] = 0 if dist[count] == nil
    dist[count] += 1
}

min = dist.keys.min
max = dist.keys.max
(min..max).each{|x|
    count = dist[x]
    count = 0 if count == nil
    puts "#{x} -> #{"*"*count}"
}