Add a Macro Benchmark that Exercises Threading (Multi-Core Concurrency)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1k
- Forks
- 203
- Avg merge
- 1h 20m
- Merged PRs (30d)
- 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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing pyperformance benchmark suite and how its single-process benchmarks are organized. Define how a multiprocessing benchmark should exercise shared last-level-cache pressure across cores, and consider the benchmark complete when it provides reproducible multi-core performance data useful for evaluating dict and set optimizations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100