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

オープン
#142 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
30/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
python
領域
performance

調査の方向性

既存の pyperformance ベンチマークスイートと、単一プロセスベンチマークがどのように構成されているかを確認することから始めます。multiprocessing ベンチマークがコア間で共有されるラストレベルキャッシュにどのような負荷をかけるべきかを定義し、dict と set の最適化の評価に役立つ再現可能なマルチコア性能データを提供できた時点でベンチマークが完成したと見なします。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
1k
フォーク
203
平均マージ
1時間 20分
マージ済み PR(30日)
2

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

python/pyperformance のほかの issue

python/pyperformance の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。