Add a Macro Benchmark that Exercises Threading (Multi-Core Concurrency)
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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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