Re: pgbench client-side performance issue on large scripts

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

In response to

Browse pgsql-hackers by date

  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