Fast and simple SumTree implementation in Rust
Project description
SumTree
This module contains a SumTree implementation in Rust with Python wrappers. Speedup is around 10x in comparison to an equivalent full Python implementation.
Check the project on github: https://github.com/yamoling/sumtree
Usage
Initialisation
from sumtree import SumTree
st = SumTree(1024)
st.add(10)
print(st.total) # 10
print(len(st)) # 1
print(st.capacity) # 1024
Sampling data
from sumtree import SumTree
st = SumTree(1024)
for i in range(1024):
st.add(i)
index, value = st.get(500)
print(index, value) # 32, 32.0
indices, values = st.sample(10)
Updating data
from sumtree import SumTree
st = SumTree(1024)
for i in range(1024):
st.add(i)
# Set leaf 0 to value 40.
tree.update(0, 40.)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sumtree-0.2.1.tar.gz
(8.0 kB
view hashes)
Built Distribution
Close
Hashes for sumtree-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ad4bf796ffeae08f53463c1c27e19cf70811d5e447edd07d60a6d873640210f |
|
MD5 | 7c99908d938a30b5cfedf635f2d0f4c0 |
|
BLAKE2b-256 | 33b8f0fced6dda781f1cbf999ec9f319a0e37c02540e3a93ec0cc616391b4059 |