|
|
Subscribe / Log in / New account

Contexts

Contexts

Posted Jul 20, 2022 7:00 UTC (Wed) by geert (subscriber, #98403)
In reply to: Contexts by nybble41
Parent article: Native Python support for units?

The decimal prefix for a multiple of 1000 is not "Ke" or "kede", but "k" or "kilo". Hence "kB".


to post comments

Contexts

Posted Jul 22, 2022 1:38 UTC (Fri) by nybble41 (subscriber, #55106) [Link] (7 responses)

> The decimal prefix for a multiple of 1000 is not "Ke" or "kede", but "k" or "kilo".

Within the SI system, sure. But as I said, bytes are not an SI unit, so SI prefixes do not apply. In another context the "kilo" prefix can easily mean something else entirely—even 1024.

Practically speaking, "kB" or "kilobyte" means either 1024 bytes (the traditional version dating back to the early days of binary computers, and an integer power of two in bits) or 1000 bytes (the new version coerced into the ill-fitting SI system, mixing base-2 and base-10 to arrive at 8,000 bits). A reader can't tell which you meant, so if the difference between 1024 and 1000 matters at all then you should avoid the term altogether. I only offered an unambiguous alternative modeled on the KiB / "kibibyte" nomenclature. It's not SI but it does a far better job of communicating the intent.

If you want to stick with SI, don't talk about bytes. The SI base unit for information is the bit.

Contexts

Posted Jul 22, 2022 2:49 UTC (Fri) by rschroev (subscriber, #4164) [Link]

You got it the wrong way around regarding 'new' and 'traditional':

Kilo meaning 1024 is the new version invented in the early days of binary computers, already wrong and in conflict with both existing standards and the Greek word χίλιοι (chilioi) it's derived from literally meaning 1000.

Kilo meaning 1000 is the traditional version, consistent with existing usage dating back to the end of the 18th century, long before the rise of binary computers; and consistent with the Greek word going back a few thousand years further still.

Contexts

Posted Jul 30, 2022 4:16 UTC (Sat) by JanC_ (guest, #34940) [Link] (5 responses)

You can use SI prefixes with non-SI units, and that is a very common, and even recommended by the organisation behind the SI system IIRC.

The only problem with using bytes is that the size of a byte is not fixed (it is hardware-dependent), so you have to specify somewhere what size the bytes you are talking about are…

It would have been much better if English language computer engineers had used 'octet' for “modern” 8-bit bytes instead (as the French do).

Contexts

Posted Jul 30, 2022 9:27 UTC (Sat) by mpr22 (subscriber, #60784) [Link] (3 responses)

> so you have to specify somewhere what size the bytes you are talking about are…

Outside of what are now very niche contexts, this is not a serious concern.

Contexts

Posted Jul 30, 2022 11:36 UTC (Sat) by Wol (subscriber, #4433) [Link] (2 responses)

> Outside of what are now very niche contexts, this is not a serious concern.

Niche contexts ... like networking?

I was always under the impression that you can't divide your networking kb by 8 to get your data transfer kB, because an 8-bit data byte is about a 10-bit network byte ...

(or is it because the b in networking stands for baud which is most definitely not a bit ...)

Cheers,
Wol

Contexts

Posted Jul 30, 2022 13:47 UTC (Sat) by pizza (subscriber, #46) [Link]

> I was always under the impression that you can't divide your networking kb by 8 to get your data transfer kB, because an 8-bit data byte is about a 10-bit network byte ...

That's still a good rule of thumb, as when you factor in network/protocol overhead, it works out pretty consistently:

10Mbps =~ 1MB/s, 100Mbps =~ 10MB/s, 1000MBps =~ 100MB/s

(Over 1Gbps it tends to fall off somewhat; for example the most I recall getting using 10Gbps fiber (and 9K jumbo frames) was about 550MB/s, though that was probably CPU bound as I was using 'scp')

Contexts

Posted Jul 30, 2022 19:29 UTC (Sat) by mpr22 (subscriber, #60784) [Link]

> I was always under the impression that you can't divide your networking kb by 8 to get your data transfer kB

It depends on where the network technology's speed rating is measured.

For example, 100BASE-TX's rated speed of 100 Mbit is measured in terms of the 25MHz 4-bit parallel data stream fed to the MII, not the 125 MHz run-length-limited serial data stream the 4b5b encoder behind the MII feeds to the MLT-3 encoder that generates the three-level waveform seen on the wire.

Of course, 100 Mb/s of packet data transfer doesn't translate into 12.5 MB/s of actual application data transfer, because of the protocol overheads imposed by various layers.

Contexts

Posted Jul 30, 2022 15:42 UTC (Sat) by smurf (subscriber, #17840) [Link]

Two syllables instead of one? no way. ;-)


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds