Re: Varchar and binary protocol - Mailing list pgsql-hackers

From Merlin Moncure
Subject Re: Varchar and binary protocol
Date
Msg-id AANLkTik5ACFiztDuwDvgr6Gj0CejV7Z_b+zhxP-SZNUx@mail.gmail.com
Whole thread Raw
In response to Varchar and binary protocol  (Radosław Smogura <rsmogura@softperience.eu>)
Responses Re: Varchar and binary protocol
List pgsql-hackers
On Sat, Feb 5, 2011 at 4:59 PM, Radosław Smogura
<rsmogura@softperience.eu> wrote:
> Hi,
>
> 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:
> 10433190
> Binary strings speed  Execution: 9354613        , local: 2755949        , all:
> 12110562
> Text NG strings speed Execution: 8346902        , local: 2704242        , all:
> 11051144
>
> 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.

Since there is basically zero difference in how *varchar* is handled
in the database for the text or binary protocols (AFAIK, they use the
same code), this is almost certainly an issue with the JDBC driver, or
your benchmark application.

merlin


pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: Range Types - efficiency
Next
From: Radosław Smogura
Date:
Subject: Re: Varchar and binary protocol