threads / discuss / 60572

Consider dropping the decimal places for KiB/s 52.00 KiB/s

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

## tl;dr

4 messages between Nov 30, 2023 and Nov 30, 2023.

replies: 3people: 3as markdown or json

Jonny Grant· Nov 30, 2023, 18:11 UTC · lore
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 noticed the KiB/s is neatly rounded to the kibibyte.

Apologies I'm not using latest release. git version 2.40.1

$ 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

Meanwhile I'll keep waiting for this slow server.
Kind regards, Jonny
Taylor Blau· Nov 30, 2023, 19:07 UTC · re: Jonny Grant · lore

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

On Thu, Nov 30, 2023 at 06:11:57PM +0000, Jonny Grant wrote:
Show 5 quoted lines
> 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
Show 6 quoted lines
> $ 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

Dragan Simic· Nov 30, 2023, 19:28 UTC · re: Taylor Blau · lore

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

On 2023-11-30 20:07, Taylor Blau wrote:
Show 17 quoted lines
> On Thu, Nov 30, 2023 at 06:11:57PM +0000, Jonny Grant wrote:
>> $ 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.

You're right, the resulting flickering would look really annoying. In fact, I already modified the reported download speed in another project to avoid pretty much the same kind of flickering, and it looked much better without it.

Jonny Grant· Nov 30, 2023, 20:19 UTC · re: Taylor Blau · lore

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

On 30/11/2023 19:07, Taylor Blau wrote:
Show 9 quoted lines
> 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.

You're right - I changed to https and it went to 6 MiB/s. Seems throttled on git:// I should have checked that first.

Show 26 quoted lines
>  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.

Now I can see the advantage of it as it is. wget is similar. Kind regards, Jonny

← back to recent threads