I do performance tests against orignal JDBC driver and my version in binary
and in text mode. I saw strange results when I was reading varchar values.
Here is some output from simple benchmark
Plain strings speed Execution: 8316582 , local: 2116608 , all:
Binary strings speed Execution: 9354613 , local: 2755949 , all:
Text NG strings speed Execution: 8346902 , local: 2704242 , all:
Plain is standard JDBC driver, Binary is my version with binary transfer, Text
is my version with normal transfer. 1st column, "Execution" is time spend on
query execution this includes send, recivie proto message, store it, etc, no
conversion to output format. Values are in nanoseconds.
In new version I added some functionality, but routines to read parts in
"Execution" block are almost same for binary and text.
But as you see the binary version is 10-20% slower then orginal, and my text
version, if I increase number of read records this proportion will not change.
I done many checks, against even "skip proto message content" driver, end
results was same 10-20% slower.