Re: calling procedures is slow and consumes extra much memory againstcalling function - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: calling procedures is slow and consumes extra much memory againstcalling function
Date
Msg-id CAEudQApsBvrO=rKD5YtmJmwX+sX39aRBgG+j7tQ-wRb-=oz2SQ@mail.gmail.com
Whole thread Raw
In response to Re: calling procedures is slow and consumes extra much memory againstcalling function  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: calling procedures is slow and consumes extra much memory againstcalling function  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers
Em sáb., 16 de mai. de 2020 às 00:07, Pavel Stehule <pavel.stehule@gmail.com> escreveu:


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.
The hardware is definitely making a difference, but if you have time and don't mind testing it,
I can send you a patch, not that the modifications are a big deal, but maybe they'll help.

regards,
Ranier Vilela

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: pgindent && weirdness
Next
From: Pavel Stehule
Date:
Subject: Re: calling procedures is slow and consumes extra much memory againstcalling function