Skip site navigation (1) Skip section navigation (2)

Re: libgcc double-free, backend won't die

From: James Mansion <james(at)mansionfamily(dot)plus(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Gregory Stark <stark(at)enterprisedb(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, Craig James <craig_james(at)emolecules(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-performance(at)postgresql(dot)org
Subject: Re: libgcc double-free, backend won't die
Date: 2007-12-16 22:24:01
Message-ID: 4765A581.7040801@mansionfamily.plus.com (view raw or flat)
Thread:
Lists: pgsql-performance
Tom Lane wrote:
> Yes.
>
> 1) It's of no value to us
>
> 2) On many platforms there is a nonzero performance penalty
>
>   
I think you have your head in the ground, but its your perogative.  *You*
might not care, but anyone wanting to use thread-aware libraries (and I'm
*not* talking about threading in any Postgres code) will certainly value 
it if
they can do so with some stability.

There's a clear benefit to being able to use such code.  I suggested a
build option but you reject it out of hand.  And in doing so, you also 
lock out
the benefits that you *could* have as well, in future..  It seems religious,
which is unfortunate.

Are you suggesting that the performance penalty, apart from the
malloc performance (which is easily dealt with) is *material*?
An extra indirection in access to errno will hurt so much?  Non-zero I can
accept, but clinging to 'non-zero' religiously isn't smart, especially 
if its a
build-time choice.

We'll clearly move to multiple cores, and the clock speed enhancements will
slow (at best).  In many cases, the number of available cores will 
exceed the
number of instantaneously active connections.  Don't you want to be able
to use all the horsepower?

Certainly on the sort of systems I work in my day job (big derivative 
trading
systems) its the norm that the cache hit rate on Sybase is well over 
99%, and
such systems are typically CPU bound.  Parallelism matters, and will matter
more and more in future.

So, an ability to start incrementally adding parallel operation of some 
actions
(whether scanning or updating indices or pushing data to the peer) is 
valuable,
as is the ability to use threaded libraries - and the (potential?) 
ability to use
embedded languages and more advanced libraries in Postgres procs is one 
of the
advantages of the system itself.  (I'd like to discount the use of a 
runtime in a
seperate process - the latency is a problem for row triggers and functions)

James


In response to

Responses

pgsql-performance by date

Next:From: andrewDate: 2007-12-16 22:49:55
Subject: Re: SELECT * FROM table is too slow
Previous:From: andrewDate: 2007-12-16 20:45:02
Subject: Re: update 600000 rows

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group