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
Metadata
Release files for morris-counter 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| morris_counter-0.1.2.tar.gz | 4.2 kB | Details |
Release files / morris_counter-0.1.2.tar.gz
| Download URL | morris_counter-0.1.2.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8dbd7e89af291452ae542f79082cb7fbdef06e4892ed93eca98f8696f73b0fa6
|
|
BLAKE2b-256 checksum How to use checksums |
b3f71283fd741eef43096e8f9a77e709851ca8172b167eb62cf43aead97f2f3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|