temporärhaus wiki

rBloom

Diese Seite wurde erstellt auf Nachfrage von @Hogü-456

rbloom ist eine Bloom-Filter Library für Python, die in Rust implementiert wurde. GitHub: github.com/KenanHanke/rbloom

Das Ziel von rbloom ist hauptsächlich: Bloom-Filter in Python schnell und trotzdem angenehm benutzbar zu machen. Ein Bloom Filter ist prinzipiell vor allem dann interessant, wenn man in Python sehr viele Membership-Checks durchführen möchte, ohne jedes Element vollständig speichern zu müssen.

Die Library orientiert sich dabei teilweise am normalen set-Typ von Python, also zum Beispiel mit Methoden wie add, update, copy oder Vergleichen wie issubset. Ein praktischer Vorteil ist, dass rbloom mit beliebigen hashbaren Python-Objekten arbeiten kann. Man muss die Daten also nicht vorher extra in Strings oder Bytes umwandeln, was die Nutzung etwas einfacher macht.

Installiert wird das Paket normalerweise über:

pip install rbloom

Auf GitHub findet man außerdem Benchmarks, Tests und den Rust/Python-Code. rbloom besonders auf Geschwindigkeit, wenige Dependencies und eine kleine, wartbare Codebasis ausgelegt. Für das Speichern und Laden von Filtern gibt es Funktionen wie save, load, save_bytes und load_bytes. Bei gespeicherten Filtern sollte man allerdings beachten, dass man dafür manuell eine hash function definieren muss, weil die Python-interne defaut hash function über separate Prozesse vom Interpreter einen unterchiedlichen Salt hat was gespeicherte Filter invalidieren würde.