Subject: Re: bug#17505: Interface inconsistency, use of intelligent defaults.

From: Paul Eggert <[email-masked]>
Date: Fri, 16 May 2014 17:13:39 -0700

Pádraig Brady wrote:

> The attached patch changes the output to:
>
>    $ dd if=/dev/zero of=/dev/null bs=256M count=2
>    2+0 records in
>    2+0 records out
>    536870912 bytes (512 MiB) copied, 0.152887 s, 3.3 GiB/s

I recall considering this when I added this kind of diagnostic to GNU dd 
back in 2004, and going with powers-of-1000 abbreviations because 
secondary storage devices are normally measured that way.  For this 
reason, I expect many users will prefer powers-of-1000 here.  This is 
particularly true for transfer rates: it's rare to see "GiB/s" in 
real-world prose.

So it'd be unwise to make this change.

The simplest thing to do is to leave "dd" alone, which is my mild 
preference.  Alternatively, we could make the proposed behavior 
optional, with the default being the current behavior.  If we do that, 
though, the behavior shouldn't be affected by the abbreviation chosen 
for the block size.  Even if the block size is given in powers-of-1024 
(which is common, because block sizes are about internal memory units, 
where powers-of-1024 are typical), the total number of bytes transferred 
and the transfer rates are more commonly interpreted in the external 
world, where powers-of-1000 are typical.