Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Re: time command with shell builtins



On Mon, Jan 23, 2023 at 3:20 PM <zeurkous@xxxxxxxxxxxxxxx> wrote:
>
> On Mon, 23 Jan 2023 14:42:05 +0100, Roman Perepelitsa <roman.perepelitsa@xxxxxxxxx> wrote:
> > On Mon, Jan 23, 2023 at 2:40 PM Dominik Vogt <dominik.vogt@xxxxxx> wrote:
> >>
> >> Is it possible to get timing statistics of shell builtins too?
> >> Timing "echo" isn't very interesting, but timing loop constructs
> >> would be:
> >>
> >>   $ time while foo; do bar done
> >
> > This:
> >
> >     % time ( while foo; do bar; done )
>
> Doesn't that imply a fork, which will also be timed...?

Yes, it does.

> (Could lead to misleading results, in that case.)

Any tool that measures how long a piece of code takes to run gives you
an upper bound, so there is nothing new here. The standard solution is
to ensure that the code under benchmark takes a non-trivial amount of
time to execute. Here's the standard pattern I use:

    time ( repeat 1000 code-under-benchmark )

I tune the loop constant so that the benchmark takes around a second.

Roman.




Messages sorted by: Reverse Date, Date, Thread, Author