Re: Comparacion Lenguajes Procedurales

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Mario Gonzalez <mario(at)cfrd(dot)cl>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Comparacion Lenguajes Procedurales
Date: 2005-07-14 17:22:51
Message-ID: 20050714172251.GF19778@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Thu, Jul 14, 2005 at 12:14:32PM -0400, Mario Gonzalez wrote:
> Holas, con la instalacion de PostgreSQL en Debian, por default viene
> con la opcion de usar 3 lenguajes procedurales: plperl.so, plpgsql.so y
> plpython.so.
>
> Mi consulta, la diferencia entre ellos es solamente el como programar
> o hay otras diferencias como por ejemplo la velocidad de procesamiento??

La diferencia en velocidad de procesamiento vendria mas que nada de la
velocidad del interprete -- mas alla de eso, todos ellos usan mas o
menos la misma infraestructura.

Una cosa que los hace diferentes es que plpgsql mantiene un cache de
planes de ejecucion de las sentencias de cada funcion. Puede ser
significativo, o puede que no. Por otro lado, no se si una funcion en
plperl o plpython se recompila con cada ejecucion; porque en plpgsql eso
no sucede, la funcion se compila solo una vez por cada sesion.

Supongo que podrias hacer mediciones al respecto. Un dato interesante
es usar preload_libraries para precargar los interpretes; esto haria que
la primera ejecucion de la funcion en cada sesion sea mucho mas rapida.

Si el rendimiento es de mucha importancia, puedes escribir funciones en C.

--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"Si un desconocido se acerca y te regala un CD de Ubuntu ...
Eso es ... Eau de Tux"

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-07-14 17:25:35 Re: Mostrar columnas de tabla determinada
Previous Message Pedro Vidaurre 2005-07-14 17:11:07 Postgres 8.x.x