Re: Query execution in Perl TAP tests needs work

From: Noah Misch <noah(at)leadboat(dot)com>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Query execution in Perl TAP tests needs work
Date: 2024-03-31 05:03:10
Message-ID: 20240331050310.09@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Aug 30, 2023 at 09:48:42AM +1200, Thomas Munro wrote:
> On Wed, Aug 30, 2023 at 1:49 AM Noah Misch <noah(at)leadboat(dot)com> wrote:
> > On Tue, Aug 29, 2023 at 04:25:24PM +1200, Thomas Munro wrote:
> > > On Tue, Aug 29, 2023 at 1:48 PM Noah Misch <noah(at)leadboat(dot)com> wrote:
> > > > https://github.com/cpan-authors/IPC-Run/issues/166#issuecomment-1288190929
> > >
> > > Interesting. But that shows a case with no pipes connected, using
> > > select() as a dumb sleep and ignoring SIGCHLD. In our usage we have
> > > pipes connected, and I think select() should return when the child's
> > > output pipes become readable due to EOF. I guess something about that
> > > might be b0rked on Windows? I see there is an extra helper process
> > > doing socket<->pipe conversion (hah, that explains an extra ~10ms at
> > > the start in my timestamps)...
> >
> > In that case, let's assume it's not the same issue.
>
> Yeah, I think it amounts to the same thing, if EOF never arrives.
>
> I suspect that we could get ->safe_psql() down to about ~25ms baseline
> if someone could fix the posited IPC::Run EOF bug

I pushed optimizations in https://github.com/cpan-authors/IPC-Run/pull/172
that make the TAP portion of "make check-world" 7% faster on my GNU/Linux
machine. I didn't confirm an EOF bug, but that change also reduces Windows
idle time in simple tests. I didn't run Windows check-world with it. For
non-Windows, we can get almost all the benefit from the attached one-liner.
(The relative benefit is probably lower for parallel check-world, where idle
threads matter less, and for slower machines.)

Attachment Content-Type Size
tap-sigchld-optimize-v1.patch text/plain 998 bytes

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrey M. Borodin 2024-03-31 05:03:31 Re: generic plans and "initial" pruning
Previous Message Bharath Rupireddy 2024-03-31 04:55:46 Re: Introduce XID age and inactive timeout based replication slot invalidation