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