python / python/cpython

Add names to gathered stats for some events.

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

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

performance
主要言語
Python
スター
77.2k
フォーク
35.9k
PR マージ指標
PR 指標を取得中

説明

Motivation

Sometimes we need to classify stats by name from an unknown set.
For example, 94% of the specialization failures for the CALL instruction is "class no vectorcall".
This is valuable information and suggests we need to implement more vectorcalls for classes.
But it doesn't tell us which classes lack vectorcalls.

Proposal

For some stats, e.g. call specialization we add the ability to record names.
If we record the first N names seen, provided N is large enough, we will see the most common names.
To avoid complications with objects and memory allocation distorting the stats, we can pre-allocate a fixed size array char names[N][M], as well as the usual table of uint64_t counts. For a table size 256, with up to 63 char names, this only uses 18kb.

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

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

はじめの一歩

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

調査の方向性

まず、call-specialization statistics の実装と、そのイベントがどのように表現されているかを確認します。固定サイズの名前テーブルとカウンターによって、オブジェクトやアロケーションへの影響なしに最初の N 個の名前を取得する方法を定義し、その結果得られる統計が、vectorcalls を持たないクラスなどの一般的な名前を特定できることを検証します。

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

評価

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

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

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