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.