Morris Counter
Memory-efficient probabilistic counter namely Morris Counter. This module based on the following paper:
Robert Morris. Counting large numbers of events in small registers. Communications of the ACM, vol. 21, issue 10, pp. 840-842, 1978.
Currently Morris Counter supports Python 3.5 and higher.
Basic idea of Morris Counter is described as follows:
INSTALLATION
$ pip install morris_counter
While the Morris Counter works builtin modules, using third-party package (numpy and mmh3) leads to improve memory-usage and computation time.
$ pip install numpy mmh3
USAGE
from morris_counter import MorrisCounter
mc = MorrisCounter(size=1000000, dtype='uint8', radix=2, seed=3282)
mc.count('ZOC')
# => 1
mc.increment('ZOC')
mc.count('ZOC')
# => 2
_ = [mc.increment('ZOC') for _ in range(2000)]
mc.count('ZOC')
# => 2048
CHANGES
0.1.2 (2019-09-11)
First release
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
morris_counter-0.1.2.tar.gz
(4.2 kB
view details)
File details
Details for the file morris_counter-0.1.2.tar.gz.
File metadata
- Download URL: morris_counter-0.1.2.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dbd7e89af291452ae542f79082cb7fbdef06e4892ed93eca98f8696f73b0fa6
|
|
| MD5 |
a57b505d3d30e2a5b774370ad63ebde8
|
|
| BLAKE2b-256 |
b3f71283fd741eef43096e8f9a77e709851ca8172b167eb62cf43aead97f2f3a
|