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)
print(len(st))
print(st.capacity)
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)
indices, values = st.sample(10)
Updating data
from sumtree import SumTree
st = SumTree(1024)
for i in range(1024):
st.add(i)
tree.update(0, 40.)