Теперь, когда ОЗУ обычно находится в гигабайтах на всех ПК, стоит ли мне уделять время поиску всех мелких (нерастущих) утечек памяти, которые могут быть в моей программе? Я говорю о тех дырах, которые могут быть меньше 64 байтов, или даже о группе, которая составляет всего 4 байта.
Некоторые из них очень трудно идентифицировать, потому что они не в моем собственном коде, но могут быть в стороннем коде или в коде инструмента разработки, и у меня может даже не быть прямого доступа к источнику. В этих случаях это потребовало бы длительного общения с поставщиками этих продуктов.
Я видел вопрос об утечке памяти номер один здесь, на SO: Устранены ли утечки памяти когда-либо? и ответ номер один, на который сейчас проголосовали 85 раз, это: *
Но здесь я говорю о небольших утечках, которые могут потребовать чрезмерного количества отладки, исследований и связи, чтобы выследить.
И я говорю только о простом настольном приложении. Я понимаю, что приложения, работающие на серверах, должны быть максимально плотными.
Итак, вопрос, который я действительно задаю: если я знаю, что у меня есть программа, которая дает утечку, скажем, 40 байт при каждом запуске, это имеет значение?
(источник: beholdgenealogy.com )
Также смотрите мой следующий вопрос: Какие операционные системы освободят утечки памяти?
Постскриптум: Я только что купил EurekaLog для разработки моей программы.
Я нашел отличную статью Александра , автора EurekaLog (который должен знать это), о ловле утечек памяти. В этой статье Александр очень хорошо и кратко излагает ответ на мой вопрос:
Хотя любая ошибка в вашем приложении всегда плохая, существуют типы ошибок, которые могут не отображаться в определенных средах. Например, утечки памяти или ресурсов ошибки относительно безопасны на клиентских машинах и могут быть смертельно опасными на серверах .