Microbenchmarking is measuring the performance of a small code fragment. When we want to optimize our code, we will have to measure it. Without measurement, code optimization is like shooting blindfolded. You will not hit the target, but you likely will shoot somebody else.
Shooting is a good metaphor because you should usually not do it, but when you really have to, then you have no choice. If there is no performance issue and the software meets requirements, then any optimization, including speed measurement, is a waste of money. This does not mean that you are encouraged to write slow and sloppy code. When we measure performance, we compare it against a requirement, and the requirement is usually at the user level, something like "the response time of the application should be less than 2 seconds". To do such a measurement, we usually create load...