Measures
Every programmer knows the numbers every programmer should know. They act as metrics and measurements. When we know them, other numbers can be guaged against them to gain "a measure". A measure makes difference. Having "a measure" is often a matter of experience. Once having a measure, numbers have a meaning. In fact having "the measure" might be the definition of experience.
In software engineering, what is considered an important measure is not always same for everyone. The community finds common ground in what they have in common. Hence the numbers every programmer should know are the latencies and throughputs in computer systems building blocks. They are based on hardware and current physical limitations. The longer I have been in the field of software development and design, the more I appreciate measures and actively seek them.
Not having a measure is like not knowing where you are at the point of space because there is no concept of unit. It's ok to not have a measure as well. I realize I like to remember few measures which are not present in the standard programmer's toolkit. Below is my list of measures to which I keep getting back to from time to time. Its not complete. Sometimes the most useful measures change a lot. Measures are not absolute, although they often seem to be. It may not look obvious, but measures are not even numeric until they suddenly are.
There is a reason why measures and rulers share the meaning.
What are your measures?
Measure | Value |
---|---|
English Wikipedia without images | 53 GB |
SSD random read | 16000 ns (16µs) |
Round trip within same datacenter | 500 µs |
Packet round trip from EU to US | 100ms |
Human brain FLOPS (they say) | 10 PFLOPS |
Neurons in human brain (they say) | 10^11 (100B) |
Synapses in human brain | 10^15 (1 quadrillion) |
H100 | 60 TFLOPS |
M1 | 2.6 TFLOPS |
M1 Pro | 10.4 TFLOPS |
Apple A18 | 2K GFLOPS |
The surface area of earth | 510M km² |
Atoms in observable universe | 10^80 |
L1 cache reference | 1 ns |
L2 cache reference | 4 ns |
Main memory reference | 100 ns |
Mutex lock | 17 ns |
Body spasm inducing current | 6 mA |
Deadly current for human | 80 mA |
Scientific population | 8 M |
Developer population | 30 M |
Videogamer population | 2.6 B |
Inspired by many.