-
Notifications
You must be signed in to change notification settings - Fork 382
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rust-protobuf version 3 #518
Comments
I'm looking at a ~22% perf regression from 2.18.1 to the current master due to the changes in the semantics of rust-protobuf/protobuf/src/message_field.rs Line 154 in 0f0956b
Is re-establishing the old |
@saethlin thank you for the feedback! We can more or less easily restore old But the issue is with So trade-off here is between:
I honestly don't know what would be the right solution. |
Would it be too much mental overhead to have |
You meant, only singular nested messages preserved, but not repeated nested messages? It can be done, but it will be only partial benefit, and still some complication: BTW is protobuf really meant to be super-fast? I suspect for really good performance, probably flatbuffers or capnproto should be used (where "deserialization" is no-op).
The issue is the same in proto2 and proto3. Singular and repeated message fields work the same in proto2 and proto3. |
Issues to be fixed to release version 3
RepeatedField
#503Version 3 alpha versions are published. docs.rs
Open questions:
foo/bar.proto
becomesmod bar
.proto
member to rust idiomatic names? I. e. do we need to rename enum variantFOO
toFoo
?type
becomesfield_type
in generated code. Perhaps it should ber#type
.MessageField
type? It is convenient, but isn't it too much mental overhead to work with?protobuf
crate? For JSON we would be able to use third-party JSON parser more easilyThe text was updated successfully, but these errors were encountered: