Allow calculating geometric mean of groups of benchmarks based on tags
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 1k
- フォーク
- 203
- 平均マージ
- 1時間 20分
- マージ済み PR(30日)
- 2
説明
[Moved from https://github.com/faster-cpython/ideas/discussions/395]
It's becoming obvious that:
- The pyperformance suite needs more benchmarks that are more similar to real-world workloads, and we should lean into optimizing for these and using these to report progress.
- Microbenchmarks of a particular feature are also useful and belong in the benchmark suite, but we shouldn't over-optimize for them or use them as a (misleading) indicator of overall progress.
It seems that one way to address this would be to lean into "tags" more in the pyperformance/pyperf ecosystem. pyperformance already allows for tags in each benchmark's pyproject.yaml.
I propose we:
- Output the tags for each benchmark in the benchmark results in the
metadatadictionary. pyperfcompare_towould then calculate the geometric mean for each subset of benchmarks for each tag found in the results, as well as "all" benchmarks (existing behavior). This could be behind a flag if backward compatibility matters.
Alternatives:
We could instead use the nested benchmark heirarchy, rather than tags. Personally, I think tags is easier to understand and more flexible (a benchmark could be associated with multiple tags).
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、pyperformance's pyproject.yaml のベンチマークタグがベンチマーク結果とメタデータでどのように表現されているかを追跡し、次に pyperf の compare_to フローを調査します。タグがメタデータに公開され、各タグサブセットおよびすべてのベンチマークについて幾何平均が計算され、後方互換性の動作が解決されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- performance, tooling
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 32/100