Re: calling procedures is slow and consumes extra much memory against calling function
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Ranier Vilela <ranier.vf@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2020-05-16T03:06:34Z
Lists: pgsql-hackers
so 16. 5. 2020 v 0:34 odesílatel Ranier Vilela <ranier.vf@gmail.com> napsal: > Em dom., 10 de mai. de 2020 às 17:21, Pavel Stehule < > pavel.stehule@gmail.com> escreveu: > >> Hi >> >> I try to use procedures in Orafce package, and I did some easy >> performance tests. I found some hard problems: >> >> 1. test case >> >> create or replace procedure p1(inout r int, inout v int) as $$ >> begin v := random() * r; end >> $$ language plpgsql; >> >> This command requires >> >> do $$ >> declare r int default 100; x int; >> begin >> for i in 1..300000 loop >> call p1(r, x); >> end loop; >> end; >> $$; >> >> about 2.2GB RAM and 10 sec. >> > I am having a consistent result of 3 secs, with a modified version > (exec_stmt_call) of your patch. > But my notebook is (Core 5, 8GB and SSD), could it be a difference in the > testing hardware? > My notebook is old T520, and more I have a configured Postgres with --enable-cassert option. regards Pavel > regards, > Ranier Vilela >
Commits
-
Fix memory leak in plpgsql's CALL processing.
- c1e044bb30f2 12.5 landed
- 13a1901bad47 11.10 landed
- f0e4ec74e452 13.1 landed
- a6b1f5365d58 14.0 landed