temporärhaus wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rbloom [2026-05-18 21:31] – kenanrbloom [2026-05-18 21:59] (current) – kenan
Line 3: Line 3:
 # rBloom # rBloom
  
-Eine Bloom-Filter Library für Python, implementiert in Rust. GitHub: [github.com/KenanHanke/rbloom](https://github.com/KenanHanke/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](https://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:
 +
 +```bash
 +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.
  
 {{tag>projekt}} {{tag>projekt}}
 +