danielgtaylor / danielgtaylor/python-betterproto

Decoding performance in comparison to vanilla protoc

オープン
#153 コメント 16 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
1.8k
フォーク
234
PR マージ指標
30日以内にマージされた PR はありません

説明

Hi,

I switched to betterproto from the vanilla Google protoc plugin for Python. So far I am really happy with the generated API and the benefits that come with it.

However, I observed that the decoding performance of binary protobuf messages decreased significantly with the switch to betterproto. In my tests the vanilla protoc plugin was approx. 250-300x faster.

Is this a known problem? I have seen that there has been work on the serialize/deserialize performance (e.g. https://github.com/danielgtaylor/python-betterproto/pull/46) and that there have been benchmarks added to the betterproto codebase. However, as far as I have seen these are checking for introduced bottlenecks in betterproto commits and do not compare the performance of betterproto to vanilla protoc.

I would be more than happy if someone could comment on this. I would really like to continue to use betterproto but this performance bottleneck is currently a blocker.

Many thanks in advance!

Jan

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

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

調査の方向性

まず、既存のシリアライズ/デシリアライズのベンチマークと pull request 46 で行われた作業を確認し、その後、バイナリデコードについて標準の Google protoc plugin との比較を追加してください。ベンチマークで報告されているパフォーマンス差を説明でき、デコードのパフォーマンスが改善されるか、制限事項が文書化されれば完了です。

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

評価

技術スタック
python
領域
performance
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

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

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