MARCIO CASTRO escreveu:
>   Muito obrigado pelo seu esforço em me ajudar, mas entenda que me foi
> vendida a idéia de que eu poderia portar todos os programas em PL/SQL
> para PL/pgSQL, e, além disto não ser verdade, a performance mostrou-se
> muito ruim - para os testes que eu realizei.
As linguagens possuem sintaxes bem similares; é claro, que as particularidades
do Oracle embutidas na PL/SQL você terá que reescrever. Não há almoço grátis. ;)

As suas funções em PL/PgSQL serão tão irreais quanto a que você apresentou? É
como o Tom disse na outra lista: plpgsql foi desenhada para cenários onde há
bastante acesso a dados.

Particularmente eu acho muito difícil tu comparares laranja com maça. Até
porque se tu montares um teste querendo comparar puramente a velocidades dos
motores das duas linguagens vais ter que desconsiderar as diferenças de tempo
com relação ao acesso aos dados.

>   Ok; compilando em C fica mais rápido, mas você testou em qual máquina?
No meu notebook (Pentium M 1.86 GHz). A execução da função em questão é
puramente CPU-bound, ou seja, quanto mais poderosa a sua CPU mais rápido será
a execução. A mesma função em PL/Perl executou em ~ 25 segundos.

>   Tentei depois com uma outra função, desta vez para calcular o
> fibonacci, mas o resultado também foi bem mais favorável ao Oracle.
>   Esta situação "quebrou as minhas pernas" - adeus projeto integrado
> Postgres/Oracle. Ou, pelo menos, por enquanto.
> 
Acho que você *não* está fazendo um comparação justa. Digo isso porque a
principal vantagem de ter funções no SGBD é justamente tirar proveito do
acesso aos dados. Sugiro que realize testes mais sérios antes de ficar tirar
conclusões utilizando apenas um caso que está muito longe de fazer parte de
qualquer tipo de aplicação real.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a