Improve compile times
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- リファクタリング
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
- 技術スタック
- cpp
- 領域
- compilers, performance
調査の方向性
まず checklist、Godbolt の例、およびリンクされた CWG2369 の議論を確認して、戻り値型の問題を理解してください。Templight はテンプレートのインスタンス化をプロファイリングするために指定されたツールです。完了とするには、提案された複数のリファクタリングにわたってコンパイル時間の測定可能な改善が必要ですが、この issue ではファイル、テスト、または範囲を限定した目標は指定されていません。
索引モデルが issue の本文から書いたものです。
説明
- Apply "SCARY iterator"-like refactorization of class templates to minimize the number and complexity of class template arguments.
- No local classes in function templates. That includes lambdas.
- Bring down mangled name length to speed up debug builds.
- Investigate where complicated function template return types are being computed unnecessarily. See https://godbolt.org/z/Mqhj7voxq for an example. See cwg2369 for the core issue.
- Use Templight to get a compile-time flame graph and prune expensive template instantiations.
- Replace internal use of heavyweight types (
std::tuple,std::optional,std::variant) with more lean custom types. Seemanual_lifetimeandmanual_lifetime_unionin libunifex. See my prototype lambda-based tuple implementation in this gist.
- 主要言語
- C++
- スター
- 2.4k
- フォーク
- 270
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 37
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/stdexec のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 66/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
似ている issue
-
ai_reviewed
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ydb-platform/ydb#53869 · コメント 3 件 ·
-
bug cert blocker needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
project-chip/connectedhomeip#74373 ·
-
upstream update
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
conan-io/conan-center-index#31035 ·
-
Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
vllm-project/vllm-ascend#17329 ·