glibc test time regression after gawk update

H.J. Lu hjl.tools@gmail.com
Mon Jul 6 00:01:07 GMT 2026


On Mon, Jul 6, 2026 at 7:19 AM Sam James <sam@gentoo.org> wrote:
>
> arnold@skeeve.com writes:
>
> > Hi.
>
> Hi Arnold,
>
> >
> > I suspect that the problem is line 34 in the script:
> >
> >       value = gensub(/^(INF|NAN|inf|nan)/, "+\\1", 1, val)
> >
> > There was a bug in gensub with \N escapes that has been fixed.
> > Can you try with https://www.skeeve.com/gawk/gawk-5.4.0d.tar.gz?
> >
> > FYI, feedback on this ASAP would be really good, as I am planning
> > to release 5.4.1 this week.

Which gawk commit may fix this?

> Sorry for the delay, I'd tried to find time earlier this week but events
> got the better of me.
>
> It looks like it solves the problem:
> ```
> $ hyperfine "make test t=stdio-common/tst-printf-format-vas-double-f AWK=/tmp/gawk-5.4.0/bin/gawk" "make test t=stdio-common/tst-printf-format-vas-double-f AWK=/tmp/gawk-5.4-stable/bin/gawk"
> Benchmark 1: make test t=stdio-common/tst-printf-format-vas-double-f AWK=/tmp/gawk-5.4.0/bin/gawk
>   Time (mean ± σ):      3.303 s ±  0.013 s    [User: 3.567 s, System: 0.116 s]
>   Range (min … max):    3.281 s …  3.320 s    10 runs
>
> Benchmark 2: make test t=stdio-common/tst-printf-format-vas-double-f AWK=/tmp/gawk-5.4-stable/bin/gawk
>   Time (mean ± σ):      2.369 s ±  0.018 s    [User: 2.632 s, System: 0.114 s]
>   Range (min … max):    2.352 s …  2.415 s    10 runs
>
> Summary
>   make test t=stdio-common/tst-printf-format-vas-double-f AWK=/tmp/gawk-5.4-stable/bin/gawk ran
>     1.39 ± 0.01 times faster than make test t=stdio-common/tst-printf-format-vas-double-f AWK=/tmp/gawk-5.4.0/bin/gawk
> ```
>
> Hopefully Florian can confirm as well. I didn't compare the full
> testsuite time, just picked a sample of the tst-printf-format-* tests
> (as for some reason I couldn't easily re-run just all of those with
> `subdirs=`).
>
> >
> > Thanks,
> >
> > Arnold
>
> cheers,
> sam
>
> >
> > Sam James <sam@gentoo.org> wrote:
> >
> >> Sam James <sam@gentoo.org> writes:
> >>
> >> > Florian Weimer <fweimer@redhat.com> writes:
> >> >
> >> >> It looks like we have a very substantial test time regression in glibc
> >> >> after a gawk update.  Based on quick poking with GDB, it may be related
> >> >> to the MinRX change in gawk 5.4.0.
> >> >>
> >> >> This is the script:
> >> >>
> >> >>   <https://sourceware.org/cgit/glibc/tree/stdio-common/tst-printf-format.awk>
> >> >>
> >> >> Is this expected?  The input files can be quite large, with very long
> >> >> lines, too.
> >> >>
> >> >> I suppose we can switch back to the old matcher (will that remain
> >> >> available?), or maybe run it under the C locale.
> >> >
> >> > Maciej, can you take a look? I suspect you're best placed to try reduce
> >> > something here as you're the author of the tests.
> >>
> >> Resending.
> >>
> >> >
> >> >>
> >> >> Thanks,
> >> >> Florian



-- 
H.J.


More information about the Libc-alpha mailing list