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.4.tar.gz
(11.8 kB
view hashes)
Built Distribution
Close
Hashes for sumtree-0.2.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1555b6654e9259ec4c0af8147be43dbc1685edcbdde3124bd86c1f77d10c3735 |
|
MD5 | 6c63984b5d763278d71bbea47485aded |
|
BLAKE2b-256 | d512cf38e8586a5aceb74cb6450cef026be66d45c2c750801adc5e98689362bc |