Re: Using libpq, floats and binary data - Mailing list pgsql-general

From Arjen Nienhuis
Subject Re: Using libpq, floats and binary data
Date
Msg-id AANLkTi=47CyLTkRPKWMJXHda=bSskd2xYRFxAKjo9TOS@mail.gmail.com
Whole thread Raw
In response to Re: Using libpq, floats and binary data  (Merlin Moncure <mmoncure@gmail.com>)
Responses Re: Using libpq, floats and binary data  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-general
On Thu, Sep 16, 2010 at 12:37 AM, Merlin Moncure <mmoncure@gmail.com> wrote:
On Wed, Sep 15, 2010 at 6:18 PM, Arjen Nienhuis <a.g.nienhuis@gmail.com> wrote:
> Hi,
> Inserting many of rows is almost always IO bound. Converting ints and floats
> to text is CPU bound and really fast anyway. To speed things up first look
> at things like indexes, how often you need to COMMIT or using COPY. Only
> then look at prepared statements and binary transfer modes. Else it's simply
> not worth the headache.

That's an awfully broad statement, and untrue...many applications are
cpu bound. It's easier to scale storage than cpu after a point.  Also,
solid state storage is going to become increasingly common moving
forwards.

Not all type receiving parsing is trivial as you claim; timestamps and
bytea for example are significantly cheaper to send in binary wire
format.  Anyways, libpqtypes gives you all the advantages without all
the fuss.  If you are really looking to shave cycles we allow you to
prepare the format string as well as prepare the statement before
sending it.  We wrote this interface for a reason: I'd say on average
it cuts down query time around 20% on average in addition to the other
advantages it provides.

merlin

I think we can agree on one thing: trying to do it without libpqtypes is a bad idea.

Groeten, Arjen

pgsql-general by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: Using libpq, floats and binary data
Next
From: "Scot Kreienkamp"
Date:
Subject: Re: help with error "unexpected pageaddr"