From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: pgbench client-side performance issue on large scripts |
Date: | 2025-02-24 20:30:59 |
Message-ID: | 1474697.1740429059@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> Yeah, we do rely on yylineno in bootscanner.l and ecpg, but not
> elsewhere; not sure if there's a performance reason for that.
Ah: the flex manual specifically calls out "%option yylineno"
as something that has a moderate performance cost. So that's
why we don't use it except in non-performance-critical scanners.
Now, it could be argued that pgbench's script scanner doesn't
rise to that level of performance-criticalness, especially not
if we're paying the cost of counting newlines some other way.
I'm not excited about doing a lot of performance analysis here
to decide that. I think we could steal plpgsql's idea to
keep the code structure basically the same while avoiding the
O(N^2) repeat scans, and that should be enough.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | James Hunter | 2025-02-24 20:32:32 | Re: Proposal: "query_work_mem" GUC, to distribute working memory to the query's individual operators |
Previous Message | Andres Freund | 2025-02-24 20:30:49 | Re: [PoC] Federated Authn/z with OAUTHBEARER |