hyperloglog icon indicating copy to clipboard operation
hyperloglog copied to clipboard

Added Save() and Load() methods

Open vivekfantain opened this issue 6 years ago • 1 comments

Added save() and load() using pickle and unit tests for the same.

vivekfantain avatar Jul 23 '18 11:07 vivekfantain

Why do you need additional 'load' and 'save' methods when it already pickle-friendly?

$ python
Python 2.7.14 (default, Mar 14 2018, 13:36:31) 
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from hyperloglog import HyperLogLog
>>> a = HyperLogLog(0.05)
>>> from cPickle import loads, dumps
>>> a.add(10)
>>> a.add(20)
>>> a
<hyperloglog.hll.HyperLogLog object at 0x7f1861172cd0>
>>> len(a)
2
>>> b = dumps(a)
>>> b
"ccopy_reg\n_reconstructor\np1\n(chyperloglog.hll\nHyperLogLog\np2\nc__builtin__\nobject\np3\nNtRp4\n(dp5\nS'alpha'\np6\nF0.71978311332173028\nsS'M'\n(lp7\nI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI1\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI1\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\naI0\nasS'm'\nI512\nsS'p'\nI9\nsb."
>>> a = loads(b)
>>> a
<hyperloglog.hll.HyperLogLog object at 0x7f186118f8c0>
>>> len(a)
2

svpcom avatar Jul 23 '18 13:07 svpcom