Andres Freund wrote:
> On 2013-07-19 13:46:44 -0400, Alvaro Herrera wrote:
> > Sadly, this has performance implications, because what previously was
> > just an in-place check of bit flags has now become a function call.
>
> Well, the impact imo primarily comes from actually resolving the
> multixact, not from the function call itself... But I don't think we
> need to overly worried. That path is only entered if xmin is
> in-progress, so that shouldn't have too big implications.
What I am worried about is those code paths that previously executed all
this only by going through straight code in the visibility routine,
without calling any other functions, for the cases where there's no
multixact involved at all. If we introduce function calls here, that
would cause a performance regression for everybody. Of course, people
who benefit from the new multixacts can be happy that they don't block
waiting for a remote transaction, but this doesn't help people who don't
benefit from multixacts.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services