Разное Май 22, 2025
Инженер Microsoft объяснил, как одна строчка в .NET может угробить память и превратить ваш ПК в овощ. И это не зависит от возраста железа.
Ваш Windows тормозит? Не спешите винить старое железо. Иногда всё дело — в одной кривой строчке кода, которая тихо сжирает память. И да, Microsoft это официально подтверждает.
Мэтт Хамрик, инженер Microsoft, выложил на корпоративном блоге пост про то, как плохой код может превратить даже хороший ПК в грустный калькулятор. Он копался в дампе памяти, нашёл утечку и показал — виновата была всего одна строчка:
На бумаге — вроде бы полезная штука. Она заставляет приложение следить за изменениями в конфиг-файле и обновляться на лету. Но если эту логику неправильно воткнуть, особенно в участки кода, которые часто вызываются (например, контроллеры в ASP.NET), — начинается веселье: память утекает, система тормозит, а иногда всё падает к чёрту.
Потому что многие до сих пор думают, что их ноутбук 2017 года стал тормозить, потому что "старый". А оказывается — просто софт написан кое-как, с прицелом на "и так сойдёт". Мол, всё равно обновишься до Copilot+ на ARM.
Но реальность другая: часто лаги — это не потому что железо слабое, а потому что его тупо душат глупыми решениями разработчиков.
Хамрик использовал WinDbg, отладчик Windows, и посмотрел, как .NET-желудок переваривает память. Когда заметил, что из-за reloadOnChange:true
всё течёт как в ванной без пробки, стал копать. Оказалось, эту настройку использовали не по назначению.
Если вы разработчик — дважды проверьте, где и зачем вы включаете автоматическую подгрузку конфигов. Если вы обычный пользователь — просто знайте: не всегда надо апгрейдить ноут, иногда достаточно не запускать кривые приложения.
Windows может тормозить не из-за возраста железа, а потому что кто-то где-то не подумал. И таких "мелочей" в современном софте всё больше. Microsoft как бы намекает: хотите стабильности — следите за тем, что запускаете. Или, ну... покупайте Copilot+, если хотите ещё больше фич и загадочных тормозов.