python / python/pyperformance

Benchmark stdlib compression code

Offen
#392 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
1k
Forks
203
Ø Merge
1 Std. 20 Min.
Gemergte PRs (30 T.)
2

Beschreibung

At PyConUS, I was chatting with @gpshead about adding compression benchmarks. While a lot of the "heavy lifting" of compression happens in the libraries CPython binds (zlib, liblzma, etc.), the handling of output buffers in CPython has a significant impact in performance, and is something we don't have a lot of visibility into the performance of.

One of the better known cross-algorithm compression benchmarks I'm aware of is lzbench, which tests compression performance of the Silesia compression corpus across many algorithms. I figure running compression benchmarks at varied settings on Silesia would provide a good starting point for benchmarking the output buffer and other binding code.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Keine Dateien, Tests oder Einstiegspunkte sind angegeben. Beginne damit, die bestehende Benchmark-Struktur von pyperformance zu überprüfen, und vergleiche anschließend die Silesia-Methodik von lzbench sowie die zlib/liblzma-Bindings, um verschiedene Einstellungen und Messungen des Ausgabepuffers zu definieren. Als erledigt gilt die Aufgabe, wenn reproduzierbare Kompressionsbenchmarks vorliegen, die die im Issue beschriebene Performance auf der CPython-Seite sichtbar machen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
performance
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.