Re: Inlining of couple of functions in pl_exec.c improves performance
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Khandekar <amitdkhan.pg@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-07-03T19:49:37Z
Lists: pgsql-hackers
Attachments
- 0003-Inline-exec_cast_value.patch (text/x-diff) patch 0003
I did some performance testing on 0001+0002 here, and found that for me, there's basically no change on x86_64 but a win of 2 to 3 percent on aarch64, using Pavel's pi_est_1() as a representative case for simple plpgsql statements. That squares with your original results I believe. It's not clear to me whether any of the later tests in this thread measured these changes in isolation, or only with 0003 added. Anyway, that's good enough for me, so I pushed 0001+0002 after a little bit of additional cosmetic tweaking. I attach your original 0003 here (it still applies, with some line offsets). That's just so the cfbot doesn't get confused about what it's supposed to test now. regards, tom lane
Commits
-
Inline the fast path of plpgsql's exec_cast_value().
- fe2e206cdb00 14.0 landed
-
Inline plpgsql's exec_stmt() into exec_stmts().
- 1f902d499eda 14.0 landed