glibc test time regression after gawk update

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


On Mon, Jul 6, 2026 at 8:44 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> 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.
> >
> > 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
> > ```

On Fedora 44/x86-64 compiled with -O3,

1.  With gawk 5.4:

commit 2a5799a85c452a903cc334cb90a8e5abcd84faaf (HEAD ->
gawk-5.4-stable, origin/gawk-5.4-stable)
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Sun Jul 5 11:44:01 2026 +0300

    Update generated files.

$ time make test t=stdio-common/tst-printf-format-f-ldouble-e
...
real 0m15.996s
user 0m18.359s
sys 0m0.335s

2. With gawk 5.3:

commit 16ba2113002eedad16b944cac3439eb309648144 (HEAD ->
gawk-5.3-stable, origin/gawk-5.3-stable)
Author: Andrew J. Schorr <aschorr@telemetry-investments.com>
Date:   Thu Jul 24 10:47:40 2025 -0400

    Disable lint warning when a filename is numeric but came from user input.

$ time make test t=stdio-common/tst-printf-format-f-ldouble-e
...
real 0m9.955s
user 0m12.328s
sys 0m0.304s

gawk 5.4 is much slower.

> > 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=`).
> >
>
> Is it
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=34355
>
> --
> H.J.



-- 
H.J.


More information about the Libc-alpha mailing list