-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
protobuf: update all generated code to google.golang.org/protobuf #3932
Conversation
route_guide test is failing:
New message's |
Exactly that. I don't usually run the examples locally and just wait for travis. Fixed. |
I keep running benchmarks for longer and longer time periods, but keep seeing a consistent performance loss, with some anomalies in the data:
Looking again, it seems that the biggest anomalies are bidi-streaming, where the two sides just get different priorities between runs, so the results can vary more wildly. For unary, most cases show a ~1-2% performance loss in total RPCs over 4 minutes. @dsnet @neild - are these kinds of results expected? Do you run benchmarks for the new generated code vs. the old generated code using the old library to serialize/deserialize? In case it makes a difference, we use the |
The logic in |
This was #3400. We can try to use |
After updating the proto codec implementation, this is showing a net win in performance of 2-4%:
|
echo "go install github.com/golang/protobuf/protoc-gen-go" | ||
(cd test/tools && go install github.com/golang/protobuf/protoc-gen-go) | ||
echo "go install google.golang.org/protobuf/cmd/protoc-gen-go" | ||
(cd test/tools && go install google.golang.org/protobuf/cmd/protoc-gen-go) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does the generated code still depend on "github.com/golang/protobuf/proto"
with the codegen from google.golang.org/protobuf
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See golang/protobuf#1077 for why it originally existed. The dependency has since been removed, but won't be observable until we release v1.26.0.
Contributes to #437 Related: grpc/grpc-go#3932 (comment)
Done, see grpc/grpc.io#475 |
Contributes to #437. I've done the first part of the Quick start to confirm that it works. Context: grpc/grpc-go#3932 (comment)
We should run some performance tests before merging this.