danielgtaylor / danielgtaylor/python-betterproto
Decoding performance in comparison to vanilla protoc
- Langage dominant
- Python
- Étoiles
- 1.8k
- Forks
- 234
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par examiner les benchmarks existants de sérialisation/désérialisation ainsi que le travail effectué dans pull request 46, puis ajoutez une comparaison avec le Google protoc plugin standard pour le décodage binaire. La tâche est terminée lorsque le benchmark explique l’écart de performances signalé et que les performances du décodage sont améliorées ou que la limitation est documentée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- performance
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100