Improve hashing management for large file parts

Offen
#245 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
22/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
performance

Rechercherichtung

The issue asks for hashing of large file parts to move off the main sync thread, possibly into a multiprocessing pool behind a new parameter. The payload names no files or tests, so start by locating the sync path where hashing and uploads are scheduled and how the existing executor is passed in. Done would mean a design agreed in the thread first, then a parameter that parallelizes hashing with a test showing the upload threads are not starved. Expect to ask maintainers about the design before writing code.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

Currently during sync the main thread does all the hashing aggresively, which can put it hundreds or thousands of parts ahead of the uploading threads.

I suggest we introduce a new parameter (to emerge executor?) which will create a multiprocessing pool which will farm out those hashing requests to separate processes, so that it can be parallelized over many cores for a generally faster operation. This also partially addreses the pycurl problem where performance may increase to a point where we'll want to avoid hashing in the main thread.

Vorherrschende Sprache
Python
Sterne
214
Forks
68
Ø Merge
51 Min.
Gemergte PRs (30 T.)
6

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Backblaze/b2-sdk-python

Alle Issues in Backblaze/b2-sdk-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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