Subject: Re: Consider dropping the decimal places for KiB/s 52.00 KiB/s

From: Taylor Blau <[email-masked]>
Date: Thu, 30 Nov 2023 14:07:22 -0500

On Thu, Nov 30, 2023 at 06:11:57PM +0000, Jonny Grant wrote:
> Hello
>
> May I suggest taking off the .00 KiB/s suffix, has that been
> considered? As the decimal places don't appear to change, they're
> stuck on .00.

I wonder if you have a throttled connection that is locked to 52KiB/s
exactly. The progress code that generates the throughput is in
progress.c::display_throughput(), which computes the rate. It's computed
in bytes/misec, and then passed to throughput_string() (really,
`strbuf_humanise_rate()`), which formats it appropriately.

If you're in the KiB range, it will print the decimal component, which
is:

    ((bytes & ((1<<10)-1)) * 100) >> 10

> $ git clone git://gcc.gnu.org/git/gcc.git git_1
> Cloning into 'git_1'...
> remote: Enumerating objects: 2949348, done.
> remote: Counting objects: 100% (209238/209238), done.
> remote: Compressing objects: 100% (14579/14579), done.
> Receiving objects:   7% (210878/2949348), 76.33 MiB | 52.00 KiB/s

On my machine:

    $ git.compile clone git://gcc.gnu.org/git/gcc.git
    [...]
    Receiving objects:  11% (342176/2949348), 108.09 MiB | 24.01 MiB/s

I suppose we could consider dropping the decimal component if it's a
round number, but I think that it may produce awkward flickering if the
rate oscillates between a round number and a non-round number.

Thanks,
Taylor