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?
Posted Jul 22, 2022 1:38 UTC (Fri)
by nybble41 (subscriber, #55106)
[Link] (7 responses)
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.
Posted Jul 22, 2022 2:49 UTC (Fri)
by rschroev (subscriber, #4164)
[Link]
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.
Posted Jul 30, 2022 4:16 UTC (Sat)
by JanC_ (guest, #34940)
[Link] (5 responses)
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).
Posted Jul 30, 2022 9:27 UTC (Sat)
by mpr22 (subscriber, #60784)
[Link] (3 responses)
Outside of what are now very niche contexts, this is not a serious concern.
Posted Jul 30, 2022 11:36 UTC (Sat)
by Wol (subscriber, #4433)
[Link] (2 responses)
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,
Posted Jul 30, 2022 13:47 UTC (Sat)
by pizza (subscriber, #46)
[Link]
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')
Posted Jul 30, 2022 19:29 UTC (Sat)
by mpr22 (subscriber, #60784)
[Link]
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.
Posted Jul 30, 2022 15:42 UTC (Sat)
by smurf (subscriber, #17840)
[Link]
Contexts
Contexts
Contexts
Contexts
Contexts
Wol
Contexts
Contexts
Contexts