Re: calling procedures is slow and consumes extra much memory against calling function
Ranier Vilela <ranier.vf@gmail.com>
From: Ranier Vilela <ranier.vf@gmail.com>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2020-05-15T22:33:45Z
Lists: pgsql-hackers
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? 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