python / python/pyperformance

Add a Macro Benchmark that Exercises Threading (Multi-Core Concurrency)

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

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
1k
Forks
203
Merge moyen
1 h 20 min
PR mergées (30 j)
2

Description

From @methane (https://mail.python.org/archives/list/python-dev@python.org/message/KVH7QLJ4VJBQQ45LZTWDXO2SEC6ANX7T/):

CPU cache invalidation exists regardless. With the current GIL the
effect it is reduced significantly.

It's an interesting point. We can not see the benefit from pypeformance, because it doesn't use much data and it runs one process
at a time. So the pyperformance can not make enough stress to the last level cache which is shared by many cores.

We need multiprocess performance benchmark apart from pyperformance, to stress the last level cache from multiple cores. It helps not only this PEP, but also optimizing containers like dict and set.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

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.

Piste de recherche

Commencez par examiner la suite de benchmarks pyperformance existante et la manière dont ses benchmarks à processus unique sont organisés. Définissez comment un benchmark de multiprocessing doit exercer une pression sur le cache de dernier niveau partagé entre les cœurs, et considérez le benchmark comme terminé lorsqu’il fournit des données de performances multicœurs reproductibles et utiles pour évaluer les optimisations de dict et set.

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

Évaluation

Stack technique
python
Domaine
performance
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

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