| From: | "Joel Jacobson" <joel(at)compiler(dot)org> |
|---|---|
| To: | "Andres Freund" <andres(at)anarazel(dot)de>, "Michael Paquier" <michael(at)paquier(dot)xyz> |
| Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Missing free_var() at end of accum_sum_final()? |
| Date: | 2023-02-19 19:54:11 |
| Message-ID: | 1c7ed4af-be18-4598-b253-ea071c91d9ef@app.fastmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, Feb 17, 2023, at 21:26, Andres Freund wrote:
> Removing the free_var()s from numeric_add_opt_error() speeds it up from ~361ms
> to ~338ms.
I notice numeric_add_opt_error() is extern and declared in numeric.h,
called from e.g. timestamp.c and jsonpath_exec.c. Is that a problem,
i.e. is there a risk it could be used in a for loop by some code outside Numeric?
> This code really needs some memory management overhead reduction love. Many
> allocation could be avoided by having a small on-stack "buffer" that's used
> unless the numeric is large.
Nice idea!
Could something like the attached patch work?
/Joel
| Attachment | Content-Type | Size |
|---|---|---|
| 0001-fixed-buf.patch | application/octet-stream | 3.4 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2023-02-19 20:46:10 | Re: Handle TEMP_CONFIG for pg_regress style tests in pg_regress.c |
| Previous Message | Justin Pryzby | 2023-02-19 19:43:45 | Re: Add LZ4 compression in pg_dump |