Using standardized SI prefixes

Scott James Remnant scott at
Tue Jun 12 15:28:38 UTC 2007

On Tue, 2007-06-12 at 15:50 +0100, Alex Jones wrote:

> On Tue, 2007-06-12 at 09:24 +0100, Scott James Remnant wrote:
> > The difference is a sufficiently small percentage, that most users will
> > not care.
> No, like I said in my earlier post, the error grows quickly. As 1.024^x,
> in fact.
> x = 1	kibi vs. kilo		2.4%
> x = 2	mebi vs. mega		4.9%
> x = 3	gibi vs. giga		7.4%
> x = 4	tebi vs. tera		10%
> Especially nowadays with terabyte disks coming out and hitting the
> consumer market, there is *no place* for 10% of ambiguity.
a) terabyte disks are often just that, 1x10^12 bytes.

b) quoting the disk as 1TB guarantees that you have at least 1x10^12
   bytes available.

   Depending on the actual disk model, you may have 1x2^40 bytes, or
   1024x10^9 bytes, or 1024x2^30 bytes available - or in fact anything
   in between.

   Only by quoting 1TB are you not potentially violating a guarantee of
   available bytes.

   It is always better to underquote than overquote.

c) One of each "binary" unit, rounded with no decimal places, is
   identical to the equivalent SI unit.

   1YB = 1x10^24	1YiB = 2^80 =~(0 dec place) 1YB
   1ZB = 1x10^21	1ZiB = 2^70 =~(0 dec place) 1ZB
   1EB = 1x10^18	1EiB = 2^60 =~(0 dec place) 1EB
   1PB = 1x10^15	1PiB = 2^50 =~(0 dec place) 1PB
   1TB = 1x10^12	1TiB = 2^40 =~(0 dec place) 1TB
   1GB = 1x10^9		1GiB = 2^30 =~(0 dec place) 1GB
   1MB = 1x10^6		1MiB = 2^20 =~(0 dec place) 1MB
   1kB = 1x10^3		1KiB = 2^10 =~(0 dec place) 1kB

d) There are few places where binary units should be exposed to humans

   Bandwidth should be quoted in true SI units over a metric of time,
   e.g. kilobytes-per-second  (e.g. the average UK DSL upload speed is
   250kbps == 250,000bps)

   Therefore Traffic should also be quoted in true SI units to make
   conversion between bandwidth and traffic easy[0]  (e.g. the web
   server shifted 86.4GB today =~ 86,400,000,000 bytes)

   Therefore File Sizes should also be quoted in true SI units, because
   they consist the majority of traffic; and to allow easy determining
   of the speed of upload (my 10GB file will take ~90 hours to upload on
   my DSL line[1])

   Therefore Disk Sizes should also be quoted in true SI units, because
   they are used to store files, and because the ATA standard says so (I
   can fit 10 10GB files on my 100GB disk).

   Memory usage should be quoted in true SI units, since executable
   programs are derived from files (this 10MB program binary will use
   10MB of RAM)

   Therefore Memory sizes should also be quoted in true SI units (I can
   fit 50 10MB programs, and 50 10MB files in my 1GB of RAM)

   The only real places I can see are where an implementation factor
   actually results in things using a true power of two, for example
   filesystem block sizes or disk sector sizes, etc.  And in these
   cases, the multiple of two only extends as high as the "block" or
   "sector" unit.

   A 1.5GB file will use 366,211 blocks of 4096 bytes.  Since you're
   referring to a technical implementation detail, which is only
   interesting in terms of accuracy, using phrases such as "kibiblocks"
   is ridiculous.


[0] try converting a continual 8 Megabits-per-second to Gibibytes for
    the day <g>
[1] !!! the UK sucks
Scott James Remnant
Ubuntu Development Manager
scott at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the Ubuntu-devel-discuss mailing list