Описание тега micro-optimization
Микрооптимизация - это процесс тщательной настройки небольших участков кода с целью устранения видимых недостатков в некоторых аспектах его работы (чрезмерное использование памяти, низкая производительность и т. Д.).
Микрооптимизация (и оптимизация в целом) обычно интересна программистам, потому что они любят находить умные решения проблем. Однако микрооптимизация подразумевает непропорционально большие усилия, затрачиваемые на получение относительно небольших улучшений.
Это не означает, что микрооптимизация - плохая практика при любых обстоятельствах. Иногда небольшое улучшение часто используемой части базы кода (например, самой внутренней части цикла) может дать большой общий выигрыш в производительности системы, а создание кода для сильно ограниченных систем, таких как микроконтроллеры, часто требует смекалки. максимальная производительность такой маленькой системы.
Однако может возникнуть соблазн заняться практикой там, где в этом нет необходимости, в результате чего будет потрачено много времени, которое можно было бы использовать более продуктивно, и код, которому трудно следовать, поскольку "умных" решений проблем часто бывает больше. труднее понять, чем простые решения, и поэтому микрооптимизация может отрицательно сказаться на ремонтопригодности фрагмента кода.
Программистам рекомендуется избегать микрооптимизации, если они не смогут убедительно обосновать описанные выше проблемы, стоящие повышения производительности. Если профилирование кода, о котором идет речь, выявляет горячую точку, которая вызывает узкое место в производительности, это может быть достаточным основанием для микрооптимизации.