Re: FYI, 2.73 slower than 2.72

Jacob Bachmeyer <[email protected]> Wed, 18 Mar 2026 21:03:23 -0500
Newsgroups gmane.comp.sysutils.autoconf.general
Message-ID <[email protected]>
On 3/18/26 11:22, Zack Weinberg wrote:
> [...]
>
> [...]  All of
> the executions of "cat" that take significant time are from this
> construct
>
>      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
>      /* end confdefs.h.  */
>      // ... test program here ...
>      _ACEOF
>
> which occurs for every test program we need to feed to the compiler.
> With both 2.72 and 2.73, there are 1550 executions of "cat" that take
> more than a millisecond, but with 2.72 they add up to 2.81 seconds
> and with 2.73 they add up to 3.98 seconds.
>
> I don't have a good explanation for this; it seems to me that even
> for the longest test programs we have, that construct should never
> take more than a few _micro_seconds.  [...]

Since the question is what *changed*, perhaps confdefs.h is a longer 
file with 2.73?  Are the test programs systematically longer with 2.73?

Overall, the "significant" cat(1) uses add 1.17 seconds across 1550 
invocations, for an average increase of 755 _micro_seconds per use.  
This is, perhaps, plausible if cat(1) is copying more data in the 2.73 
case, maybe.

The difference could be as little as one byte, if that one byte requires 
transferring an additional I/O block...


-- Jacob