Hi All,
Thanks all for replying/resolving my previous doubts. I am planning to use
gRPC for our project. I have following question related to performance.
If I have following proto definition.
option optimize_for = SPEED;
message ScanRow {
repeated bytes row = 1;
}
message ScanResult {
repeated ScanRow row = 1;
}
message ScanRequest {
int32 numOfColumns = 1;
int32 sizeOfEachColumn = 2;
int64 numOfRows = 3;
int32 batchSize = 4;
}
service ScanService {
rpc Scan (ScanRequest) returns (stream ScanResult) {}
}
I get around 900-1000 MegaBytes/Seconds on Single Machine and across two
different Physical Machines I am getting 100-110 MegaBytes/Seconds speed.
If I change above proto definition to following.
option optimize_for = SPEED;
message ColumnValues {
bytes columnName = 1;
bytes columnValue = 2;
}
message ScanRow {
int64 rowId = 1;
int64 timeStamp = 2;
repeated ColumnValues columnValue = 3;
}
message ScanResult {
repeated ScanRow row = 1;
}
message ScanRequest {
int32 numOfColumns = 1;
int32 sizeOfEachColumn = 2;
int64 numOfRows = 3;
int32 batchSize = 4;
}
service ScanService {
rpc Scan (ScanRequest) returns (stream ScanResult) {}
}
Now I get around 130-135 MegaBytes/Seconds Speed.
Why it is slow with kind of multi-level proto files. Is there any
Serialization/De-Serialization overhead with this ?
Thanks
Avinash
--
You received this message because you are subscribed to the Google Groups
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit
https://groups.google.com/d/msgid/grpc-io/bba2fc24-fd69-4c78-89a6-173aea8f3545%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.