Caro André:

  Muito obrigado pela dica. A fib(35) passou para 60s, e a function1 para 19s. 
Mas mesmo assim, a performance ainda está muito aquém dos tempos do Oracle 
(21,04s e 3,5s) em um mísero Celeron. 

  Termino agradecendo muito aos integrantes desta lista que prontamente me 
ajudaram. Acho que o PostgreSQL tem um próspero futuro, mas a performance do 
PLPGSQL inviabiliza a portabilidade do Oracle - PL/SQL. Ou, ao menos, para este 
projeto.


Atenciosamente,

Márcio de Figueiredo Moura e Castro






________________________________
De: André Volpato <[email protected]>
Para: Comunidade PostgreSQL Brasileira <[email protected]>
Enviadas: Segunda-feira, 21 de Setembro de 2009 10:38:31
Assunto: Re: [pgbr-geral] Res:  Performance usando funções em PLPGSQL 
comparadas ao PL/SQL no Oracle

MARCIO CASTRO escreveu: 
> 
>(...)
>
>
>

Para
>complementar o que eu estou falando, criei a função que calcula o
>número do Fibonacci. No Oracle, levou 21,04 segundos, e no PostgreSQL,
>82,53 segundos (select fib(35)).
>
>>Pergunto novamente aos senhores então: a diferença é esta mesmo? Alguém
>do grupo poderia compilar a função abaixo (Fibonacci) e me retornar o
>tempo de execução?
>
>
Pra você ter um ganho de performance, altere a instrução "VOLATILE"
para "IMMUTABLE".
Aqui (Xeon(R) E5420 @ 2.50GHz) , o menor tempo que consegui foram 45s.
Para esta query recursiva em PL, o limite vai ser o processador mesmo. 

Tente reescrever sem recursividade, só por curiosidade. Creio que este
tipo de abordagem em PL fique lenta mesmo.


Doctor
>House in apology to Mike Jagger
>
Mick !
;)

[]´s, André Volpato 


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a