From: Patrick Steinhardt <ps@pks.im>
To: Christian Couder <christian.couder@gmail.com>
Cc: git@vger.kernel.org, Toon Claes <toon@iotcl.com>,
Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [PATCH v3 0/5] meson: wire up support for benchmarks
Date: Thu, 24 Apr 2025 06:31:33 +0200 [thread overview]
Message-ID: <aAm-pcIfrFt6mjlV@pks.im> (raw)
In-Reply-To: <CAP8UFD1zqAk1_Y0ECu4=iyeF4k4LagfLgHWkEr8iz8ZnwkVT8A@mail.gmail.com>
On Wed, Apr 23, 2025 at 04:44:20PM +0200, Christian Couder wrote:
> On Tue, Apr 22, 2025 at 9:53 AM Patrick Steinhardt <ps@pks.im> wrote:
> >
> > On Tue, Apr 22, 2025 at 09:27:57AM +0200, Christian Couder wrote:
>
> > > In https://lore.kernel.org/git/CAP8UFD2jKwYzmc40knXY7k+FQabjZbGTqs9fowF=-0OqfNYp_w@mail.gmail.com/
> > > I wrote:
> > >
> > > "I wonder what happens when we run `meson test -C build --benchmark`
> > > but 'time' is not found."
> > >
> > > because I wasn't sure if it would just do nothing in that case which
> > > might not be very user friendly.
> >
> > Ah, sorry, forgot to answer that question. What Meson does in that case
> > is to print "No tests defined". We could help improve usability a bit by
> > printing benchmarks as part of the auto-detected features after setup of
> > the build directory has finished. That would make it more discoverable
> > that benchmarks have been disabled.
>
> I was more expecting something simple like:
>
> if time.found()
> ...
> else
> error('Benchmarking requires the `time` command')
> endif
>
> in the same way as in meson.build elsewhere we have things like:
>
> if not msgfmt.found() and gettext_option.enabled()
> error('Internationalization via libintl requires msgfmt')
> endif
But erroring out by default doesn't really feel nice to the general
developer. I'd claim that 99% of the time, developers will only end up
running the test suite, never the benchmarks. So the default should
match that and not require GNU time to be available, if you ask me.
An alternative could be to have a 'benchmarks' feature option wired up.
This feature would be set to 'auto', and then we can detect time like
this:
time = find_program('time', dirs: program_path, required: get_option('benchmarks'))
This will then auto-enable or -disable the feature depending on the
availability of GNU time. But if the user passes `-Dbenchmarks=enabled`,
we would fail the setup in case the program wasn't found.
Patrick
next prev parent reply other threads:[~2025-04-24 4:31 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-31 6:16 [PATCH 0/5] meson: wire up support for benchmarks Patrick Steinhardt
2025-03-31 6:16 ` [PATCH 1/5] t/perf: fix benchmarks with alternate repo formats Patrick Steinhardt
2025-03-31 6:16 ` [PATCH 2/5] t/perf: use configured PERL_PATH Patrick Steinhardt
2025-04-10 11:43 ` Toon Claes
2025-04-14 6:50 ` Patrick Steinhardt
2025-04-14 19:20 ` Junio C Hamano
2025-04-15 10:01 ` Patrick Steinhardt
2025-03-31 6:16 ` [PATCH 3/5] t/perf: fix benchmarks with out-of-tree builds Patrick Steinhardt
2025-04-10 11:34 ` Toon Claes
2025-04-14 6:28 ` Toon Claes
2025-04-14 6:50 ` Patrick Steinhardt
2025-03-31 6:16 ` [PATCH 4/5] meson: wire up benchmarks Patrick Steinhardt
2025-04-10 11:44 ` Toon Claes
2025-04-14 6:50 ` Patrick Steinhardt
2025-04-14 9:07 ` Toon Claes
2025-03-31 6:16 ` [PATCH 5/5] meson: wire up benchmarking options Patrick Steinhardt
2025-04-14 6:51 ` [PATCH v2 0/5] meson: wire up support for benchmarks Patrick Steinhardt
2025-04-14 6:51 ` [PATCH v2 1/5] t/perf: fix benchmarks with alternate repo formats Patrick Steinhardt
2025-04-14 6:51 ` [PATCH v2 2/5] t/perf: use configured PERL_PATH Patrick Steinhardt
2025-04-14 6:51 ` [PATCH v2 3/5] t/perf: fix benchmarks with out-of-tree builds Patrick Steinhardt
2025-04-20 10:00 ` Christian Couder
2025-04-22 6:51 ` Patrick Steinhardt
2025-04-14 6:51 ` [PATCH v2 4/5] meson: wire up benchmarks Patrick Steinhardt
2025-04-20 10:00 ` Christian Couder
2025-04-14 6:51 ` [PATCH v2 5/5] meson: wire up benchmarking options Patrick Steinhardt
2025-04-15 14:36 ` [PATCH v2 0/5] meson: wire up support for benchmarks Junio C Hamano
2025-04-15 18:18 ` Junio C Hamano
2025-04-16 11:00 ` Patrick Steinhardt
2025-04-18 23:02 ` Junio C Hamano
2025-04-22 6:50 ` [PATCH v3 " Patrick Steinhardt
2025-04-22 6:50 ` [PATCH v3 1/5] t/perf: fix benchmarks with alternate repo formats Patrick Steinhardt
2025-04-22 6:50 ` [PATCH v3 2/5] t/perf: use configured PERL_PATH Patrick Steinhardt
2025-04-22 6:50 ` [PATCH v3 3/5] t/perf: fix benchmarks with out-of-tree builds Patrick Steinhardt
2025-04-22 6:50 ` [PATCH v3 4/5] meson: wire up benchmarks Patrick Steinhardt
2025-04-22 6:50 ` [PATCH v3 5/5] meson: wire up benchmarking options Patrick Steinhardt
2025-04-22 7:27 ` [PATCH v3 0/5] meson: wire up support for benchmarks Christian Couder
2025-04-22 7:53 ` Patrick Steinhardt
2025-04-23 14:44 ` Christian Couder
2025-04-24 4:31 ` Patrick Steinhardt [this message]
2025-04-24 6:28 ` Christian Couder
2025-04-24 11:13 ` Junio C Hamano
2025-04-24 13:49 ` Patrick Steinhardt
2025-04-23 14:12 ` Toon Claes
2025-04-25 7:28 ` [PATCH v4 " Patrick Steinhardt
2025-04-25 7:28 ` [PATCH v4 1/5] t/perf: fix benchmarks with alternate repo formats Patrick Steinhardt
2025-04-25 7:28 ` [PATCH v4 2/5] t/perf: use configured PERL_PATH Patrick Steinhardt
2025-04-25 7:28 ` [PATCH v4 3/5] t/perf: fix benchmarks with out-of-tree builds Patrick Steinhardt
2025-04-25 7:28 ` [PATCH v4 4/5] meson: wire up benchmarks Patrick Steinhardt
2025-04-25 7:57 ` Christian Couder
2025-04-25 8:01 ` Patrick Steinhardt
2025-04-25 8:09 ` Christian Couder
2025-04-25 8:27 ` Patrick Steinhardt
2025-04-25 7:28 ` [PATCH v4 5/5] meson: wire up benchmarking options Patrick Steinhardt
2025-04-25 8:06 ` [PATCH v4 0/5] meson: wire up support for benchmarks Christian Couder
2025-04-25 8:26 ` Patrick Steinhardt
2025-04-25 8:33 ` Christian Couder
2025-04-28 7:30 ` [PATCH v5 " Patrick Steinhardt
2025-04-28 7:30 ` [PATCH v5 1/5] t/perf: fix benchmarks with alternate repo formats Patrick Steinhardt
2025-04-28 7:30 ` [PATCH v5 2/5] t/perf: use configured PERL_PATH Patrick Steinhardt
2025-04-28 7:30 ` [PATCH v5 3/5] t/perf: fix benchmarks with out-of-tree builds Patrick Steinhardt
2025-04-28 7:30 ` [PATCH v5 4/5] meson: wire up benchmarks Patrick Steinhardt
2025-04-28 7:30 ` [PATCH v5 5/5] meson: wire up benchmarking options Patrick Steinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aAm-pcIfrFt6mjlV@pks.im \
--to=ps@pks.im \
--cc=chriscool@tuxfamily.org \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=toon@iotcl.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).