Re: plan cache overhead on plpgsql expression
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Pavel Stehule <pavel.stehule@gmail.com>,
Amit Langote <amitlangote09@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2020-03-25T20:32:15Z
Lists: pgsql-hackers
On Sat, Mar 21, 2020 at 2:24 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > With this patch, perf shows the hotspots on Pavel's original example > as being > > + 19.24% 19.17% 46470 postmaster plpgsql.so [.] exec_eval_expr > + 15.19% 15.15% 36720 postmaster plpgsql.so [.] plpgsql_param_eval_var > + 14.98% 14.94% 36213 postmaster postgres [.] ExecInterpExpr > + 6.32% 6.30% 15262 postmaster plpgsql.so [.] exec_stmt > + 6.08% 6.06% 14681 postmaster plpgsql.so [.] exec_assign_value That's pretty sweet. As you say, there's probably some way to eliminate some of the non-plancache overhead, but it's still a big improvement. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Rearrange validity checks for plpgsql "simple" expressions.
- fbc7a716084e 13.0 landed
-
Improve performance of "simple expressions" in PL/pgSQL.
- 8f59f6b9c037 13.0 landed
-
Ensure that plpgsql cleans up cleanly during parallel-worker exit.
- 4bfacc5a4411 9.5.22 landed
- deeda011b316 11.8 landed
- dd51b5696aa5 9.6.18 landed
- a54a87320782 12.3 landed
- 86e5badd22d9 13.0 landed
- 42d3649b58f4 10.13 landed