Re: plan cache overhead on plpgsql expression - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: plan cache overhead on plpgsql expression
Date
Msg-id CAFj8pRBNjXDj0f4gmwp-xLTL4Th=+0mA6dgWWXFLPGXU5ZO45Q@mail.gmail.com
Whole thread Raw
In response to plan cache overhead on plpgsql expression  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers


ne 16. 2. 2020 v 15:12 odesílatel Pavel Stehule <pavel.stehule@gmail.com> napsal:
Hi

when I do some profiling of plpgsql, usually I surprised how significant overhead has expression execution. Any calculations are very slow.

This is not typical example of plpgsql, but it shows cleanly where is a overhead

CREATE OR REPLACE FUNCTION public.foo()
 RETURNS void
 LANGUAGE plpgsql
 IMMUTABLE
AS $function$
declare i bigint = 0;
begin
  while i < 100000000
  loop
    i := i + 1;
  end loop;
end;
$function$


Is interesting so overhead of plan cache about 15%

The execution needs 32 sec on Postgres13 and 27sec on Postgres8.2

On same computer same example in Perl needs only 7 sec.

Regards

Pavel


Regards

Pavel

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: [Proposal] Global temporary tables
Next
From: Justin Pryzby
Date:
Subject: Re: explain HashAggregate to report bucket and memory stats