Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
1–10 of 63 posts
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#2Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#3It's interesting that the protobuf code generator for Go seems to allow this direct access. For C++, you also need a copy (and potentially a heap allocation) since `string` fields are returned via `const std::string&`. Protobuf support for `std::string_view` has been years in the making.
Maybe just switch to FlatBuffers?
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#4In the image at the top of the article, why is the Rust crab altered to have "angry" eyes and holding a knife aimed at the Go gopher? Aside from the joke of "don't bring a knife to a protobuf fight" the inference of violence sucks and lessens the spirit of friendly competition and "all in good fun." I don't know if Rust has a code-of-conduct or rules for use of their mascot, but I bet this doesn't follow it.
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#5In the image at the top of the article, why is the Rust crab altered to have "angry" eyes and holding a knife aimed at the Go gopher? Aside from the joke of "don't bring a knife to a protobuf fight" the inference of violence sucks and lessens the spirit of friendly competition and "all in good fun." I don't know if Rust has a code-of-conduct or rules for use of their mascot, but I bet this doesn't follow it.
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#6> In Go, a string is just a simple wrapper around []byte, and deserializing a string field can be done by simply assigning the original buffer's pointer and length to the string field. However, Rust's PROST, when deserializing String type fields, needs to copy the data from the original buffer into the String It's interesting that the protobuf code generator for Go seems to allow this direct access. For C++, you also…
But in this case the format is defined by [Prometheus](https://github.com/prometheus/prometheus/blob/main/prompb/re...) and we just adopt that.
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#7In the image at the top of the article, why is the Rust crab altered to have "angry" eyes and holding a knife aimed at the Go gopher? Aside from the joke of "don't bring a knife to a protobuf fight" the inference of violence sucks and lessens the spirit of friendly competition and "all in good fun." I don't know if Rust has a code-of-conduct or rules for use of their mascot, but I bet this doesn't follow it.
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#8In the image at the top of the article, why is the Rust crab altered to have "angry" eyes and holding a knife aimed at the Go gopher? Aside from the joke of "don't bring a knife to a protobuf fight" the inference of violence sucks and lessens the spirit of friendly competition and "all in good fun." I don't know if Rust has a code-of-conduct or rules for use of their mascot, but I bet this doesn't follow it.
aren’t you reading a bit too much into it?
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#9Earlier quoted context omitted.
aren’t you reading a bit too much into it?
Maybe you're not thinking about it enough? Do you know anyone who has been almost fatally stabbed (attacked by gangs) with knives? I do! It likely violates a code-of-conduct and is unprofessional.
At some point one needs to exercise common sense and learn to live in a public society where people speak and not everyone is out to offend you.
Re: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
#10Earlier quoted context omitted.
Maybe you're not thinking about it enough? Do you know anyone who has been almost fatally stabbed (attacked by gangs) with knives? I do! It likely violates a code-of-conduct and is unprofessional.
Isn’t it tiring to think about every possible offence in the world and how someone somewhere will be offended by (knives, tires, cars, pens, saws, sharks, planes, needles, ropes, speakers, games, … you get the point) while writing an article about a programming language? At some point one needs to exercise common sense and learn to live in a public society where people speak and not everyone is out to offend you.