Post Thumbnail

Я с удивлением узнал, что в Rust-сообществе есть уверенность в том, что любая дополнительная функция (особенно асинхронная) якобы создаёт критическую нагрузку на производительность, и поэтому код всегда лучше писать инлайн. Это же дичь какая-то.

В статье автор доказывает, что в большинстве случаев компилятор самостоятельно оптимизирует вызовы, а микрописечная стоимость indirection несоизмерима с потерей читаемости, тестируемости и понятности кода. Казалось бы, это должно быть очевидно.

На примере рефакторинга большой ветки match показано, что вынос логики в именованную функцию не влияет на производительность в release-сборке. Но это критически важно для снижения когнитивной нагрузки на разработчиков и поддержания чистоты кодовой базы.

Похожее

Post Thumbnail

Ply

Автор написал свой GUI Rust-фреймворк Ply. Сначала он попробовал существующие ре...

Post Thumbnail

Футуры

В статье автор разбирает проблему "засыпания" (snoozing) футур в асинхронном Rus...