python / python/cpython

Add jump table for certain safe match-case statements

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

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

3.12 interpreter-core performance
主要言語
Python
スター
77.2k
フォーク
36k
PR マージ指標
PR 指標を取得中

説明

BPO 44283
Nosy @rhettinger, @markshannon, @serhiy-storchaka, @corona10, @brandtbucher, @sweeneyde, @AndersMunch, @Fidget-Spinner, @Kshitiz-Arya
PRs
  • python/cpython#26697
  • Files
  • matchperf.py
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2021-06-01.21:58:12.002>
    labels = ['interpreter-core', '3.11', 'performance']
    title = 'Add jump table for certain safe match-case statements'
    updated_at = <Date 2021-06-14.17:02:35.709>
    user = 'https://github.com/sweeneyde'
    

    bugs.python.org fields:

    activity = <Date 2021-06-14.17:02:35.709>
    actor = 'brandtbucher'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Interpreter Core']
    creation = <Date 2021-06-01.21:58:12.002>
    creator = 'Dennis Sweeney'
    dependencies = []
    files = ['50106']
    hgrepos = []
    issue_num = 44283
    keywords = ['patch']
    message_count = 20.0
    messages = ['394874', '394878', '394882', '394884', '394887', '394889', '394891', '394892', '394975', '394977', '395019', '395069', '395265', '395278', '395717', '395732', '395738', '395797', '395809', '395813']
    nosy_count = 9.0
    nosy_names = ['rhettinger', 'Mark.Shannon', 'serhiy.storchaka', 'corona10', 'brandtbucher', 'Dennis Sweeney', 'AndersMunch', 'kj', 'Kshitiz17']
    pr_nums = ['26697']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'performance'
    url = 'https://bugs.python.org/issue44283'
    versions = ['Python 3.11']
    

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

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

    はじめの一歩

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

    調査の方向性

    まず、既存の pull request python/cpython#26697 と、参照されているベンチマーク matchperf.py を確認します。どの安全な match-case 文が対象範囲に含まれるか、および jump-table の変更をどのように評価すべきかを判断します。対象となるケースが意図した最適化を使用し、関連するパフォーマンスの挙動が検証されれば作業は完了です。

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

    評価

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

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

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