Voir le post précédent : Présentation de gs-fastcopy
J'ai expédié l'amélioration gs-fastcopy-python#10 : Inspecter le nombre de processeurs pour de meilleurs paramètres de téléchargement par défaut.
Auparavant, nous avions par défaut 8 travailleurs (valeur par défaut de Google). Sur un système avec plus de 8 cœurs, cela laisse beaucoup de temps inactif !
Maintenant, nous inspectons le nombre de processeurs disponibles. Nous honorons os.get_schedaffinity sur les systèmes qui le prennent en charge (processeurs disponibles pour ce processus pas seulement en général), sinon nous utilisons os.cpu_count().
Résultats du benchmarking : [fiche source]
Notez comment l'ajout de travailleurs accélère le processus, mais produit des rendements décroissants. Je pense que c'est à ce moment-là que le transfert réseau lui-même devient davantage un goulot d'étranglement, mais il est probable que modifier la taille des morceaux serait également utile.
Notez également les effets plus spectaculaires lors de l'utilisation de la compression (utilisation de pigz, gzip parallèle). pigz aurait déjà repéré les max Workers, ce qui est nouveau ici, c'est de les inclure également dans le téléchargement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!