Improve hashing management for large file parts

Ouverte
#245 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
22/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
performance

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
214
Forks
68
Merge moyen
51 min
PR mergées (30 j)
6

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Backblaze/b2-sdk-python

Toutes les issues de Backblaze/b2-sdk-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.