Hacker News new | ask | show | jobs
by rottyguy 3929 days ago
How come we're still using bits-per-second and not bytes-per-second? Any reason other than being historical at this point?
3 comments

Because the size of a byte isn't fixed. It is hardware dependent. There is no definitive standard defining what the size of a byte is.

https://en.wikipedia.org/wiki/Byte

I would be surprised if, practically speaking, 8bits <> 1 byte for 99.99% of all general applications. My feeling is that the .01% can do the math so the other 99.99% don't have to.
Yeah but specifically for networking, error-detecting and error-correcting codes can make a byte at the app level > 8 bits on the wire, transparently. The capacity of the hardware is independent of that, so they talk in bauds.
Data is send serially over a fiber or copper line, bit by bit, not per byte. Also because bytes can be compressed, bits cannot, so giving the throughput in bits-per-second is an absolute value.
Bytes can be compressed in sequence not in singularity (just as bits). I mean why don't we measure storage in bits and not bytes? Just seems unnecessarily confusing.
Actually, memory chips (NAND flash, DRAM) are usually specified in terms of bits, usually using a lowercase 'b' to denote 'bit'.

Online sellers have used this to their advantage, selling e.g. "1Gb" flash drives, with real 1 gigabit flash chips, which turn out to be ~128 megabytes.

Or 120 megabytes.
Even if the only reason is historical: why not, what advantage would bytes per second have?
How long does it take to transfer a gigabyte file? Sure we can do the math but why (considering the average person)? Maybe there should be a common core revolution in engineering :-)
I can't do the exact math for that without looking up up a bunch of stuff.

I don't how much I need to subtract for the multiple headers and other overhead, how fast the transfer rate gets to the maximum, how many packages get lost, what other factors of the congestion control algorithms might impact my transfer etc

I just divide by 10. How long will it take to download a 100MB file with a 100Mbps connection? Approximately 10 seconds. I know that the theoretical maximum is 8 seconds, but practical factors like flow control and all that more or less cancel out the 20% error.
Try this bandwidth calculator (it's in German, but I think it's not hard to understand)

http://www.heise.de/netze/tools/bandbreitenrechner/

You are missing my point: the raw bit rate of the network is not the rate of file transfers. There is a bunch of logic around the raw bits in the wire that make it mich more complicated than dividing by 8
Actually, the real point is that the average person doesn't need engineering precision which is my original point. Whether it's 60sec or 65sec to xfer a file doesn't matter to them. Engineers always like to argue precision to justify complexity and lose sight of the larger picture (eg. consumers/majority matter).

btw- how does expression it in bits v/s bytes help you with your desired calculations?

For example, the TCP throughput equation which can be expressed by the following http://www.mathcs.emory.edu/~cheung/Courses/558/Syllabus/07-... (depending on your degree of accuracy).
Ask Google:

  100 Mbps in MBps.
  250GB / 100 Mbps
  100 Mbps * 0.8 in MBps