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

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

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
30/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
performance

Rechercherichtung

Beginne mit der Überprüfung der vorhandenen pyperformance-Benchmark-Suite und der Organisation ihrer Single-Process-Benchmarks. Lege fest, wie ein Multiprocessing-Benchmark den Druck auf den gemeinsam genutzten Last-Level-Cache über mehrere Kerne hinweg ausüben sollte, und betrachte den Benchmark als abgeschlossen, wenn er reproduzierbare Multi-Core-Leistungsdaten liefert, die für die Bewertung von Optimierungen an dict und set nützlich sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Python
Sterne
1k
Forks
203
Ø Merge
1 Std. 20 Min.
Gemergte PRs (30 T.)
2

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

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 python/pyperformance

Alle Issues in python/pyperformance

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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