Re: What language is faster, C or PL/PgSQL?

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Carlo Stonebanks <stonec(dot)register(at)sympatico(dot)ca>
Cc: kescobar(at)estudiantes(dot)uci(dot)cu, pgsql-general(at)postgresql(dot)org
Subject: Re: What language is faster, C or PL/PgSQL?
Date: 2013-02-04 14:33:02
Message-ID: CAHyXU0w_ST+c4tLF0wV67bgXzn_UCWP5pACe8BAD+bDddsaezg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Feb 2, 2013 at 11:36 AM, Carlo Stonebanks
<stonec(dot)register(at)sympatico(dot)ca> wrote:
> Here is an advantage Plpgsql has:
> http://www.postgresql.org/docs/9.1/static/plpgsql-expressions.html
>
> I guess you can offset this by creating your own prepared statements in C.
> Otherwise, I can’t think of how C could be slower. I would choose C for
> functions that don’t have SQL statements in them – e.g. math and string
> processing.

For cases involving data processing (SPI calls), C can be slower
because pl/pgsql has a lot of optimizations in it that can be very
easy to miss. I don't suggest writing backend C functions at all
unless you are trying to interface with a C library to access
functionality currently not exposed in SQL.

merlin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alexander Farber 2013-02-04 14:36:17 Re: Adding PRIMARY KEY: Table contains duplicated values
Previous Message Adrian Klaver 2013-02-04 14:32:12 Re: Adding PRIMARY KEY: Table contains duplicated values