Re: c't Datenbank-Contest; PL/pgSQL, PL/perl, PL/parrot

From: Andreas Seltenreich <andreas+pg(at)gate450(dot)dyndns(dot)org>
To: Alvar Freude <alvar(at)a-blast(dot)org>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: c't Datenbank-Contest; PL/pgSQL, PL/perl, PL/parrot
Date: 2005-10-21 04:03:30
Message-ID: 87wtk7bjot.fsf@gate450.dyndns.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Alvar Freude schrob:

> Hat jemand Erfahrungswerte, was die Performance von PL/pgSQL vs. PL/perl
> anbelangt?

Nur ein paar bescheidene.

> Wenn ich das richtig verstanden habe, wird PL/perl-Code ja beim erstellen
> compiliert und dann im Bytecode nur noch die Unterfunktion aufgerufen.
> Wie ist das bei PL/pgSQL

Geparst wird hier ebenfalls nur beim ersten Funktionsaufruf. PL/pgSQL
bedient sich zum Parsen und Ausführen ausgiebig vom restlichen
PostgreSQL-Code, was es besonders leichtgewichtig macht. Stichwort:
working set.

> und wie ist der Performance-Unterschied?

Depends.

Wenn man SQL einfach nur zur Turing-Vollständigkeit nachrüsten will,
ist PL/pgSQL sicherlich eine gute Wahl, da es mit den PostgreSQL
bekannten Datentypen nativ umgehen kann. Wenn es um nichttriviales
verwursten von Daten über PostgreSQLs eingebauten Funktionsumfang
hinaus geht, wird PL/pgSQL jedoch kaum an PL/Perls Performance
herankommen.

Als unakzeptablen Flaschenhals hab' ich stored procedures allerdings
nur beim Number-Crunching erlebt. Und da war der Ausweg nicht etwa
eine andere PL, sondern:
<http://www.postgresql.org/docs/8.0/static/xfunc-c.html>

> Es gibt ja wohl auch ein PL/parrot, das habe ich auf die Schnelle aber
> nicht gefunden; da würde mich natürlich auch das gleiche interessieren
> und vor allem, ob da JIT läuft ... :)

IMHO genügt es, daß dieser Dell-Benchmark im Alphastadium ist; da muß
man der c't-Redaktion nicht noch eine PL/Parrot-Alpha aufdrücken :-).

Gruß
Andreas
--

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Alvar Freude 2005-10-21 07:13:06 Re: c't Datenbank-Contest; PL/pgSQL, PL/perl, PL/parrot
Previous Message Alvar Freude 2005-10-20 09:08:36 c't Datenbank-Contest; PL/pgSQL, PL/perl, PL/parrot