danielgtaylor / danielgtaylor/python-betterproto
Rendering comments can be time consuming.
- 主要言語
- Python
- スター
- 1.8k
- フォーク
- 234
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
```
$ time protoc -I . --python_betterproto_out=. douyin2.proto |& head
Writing __init__.py
Writing douyin\__init__.py
real 6m18.150s
user 0m0.015s
sys 0m0.091s
```
After patching `betterproto/plugin/models.py@ProtoContentBase.comment` to return empty string, it's much faster
```
$ time protoc -I . --python_betterproto_out=. douyin2.proto |& head
Writing __init__.py
Writing douyin\__init__.py
real 0m23.077s
user 0m0.000s
sys 0m0.092s
```
Profile flamegraph from `py-spy record`
コントリビューションガイド
調査の方向性
betterproto/plugin/models.py の ProtoContentBase.comment から始め、報告された py-spy プロファイルを使って、なぜコメントのレンダリングが protoc の生成時間の大部分を占めるのかを特定します。提供されたタイミング例と生成を比較し、報告された遅延を大幅に削減しながらコメントが正しいままであることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- devtools, performance
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 55/100