Что означает маленький след с точки зрения программирования? - PullRequest
32 голосов
/ 24 октября 2009

Я слышал, что многие библиотеки, такие как JXTA и PjSIP, занимают меньше места. Это указывает на небольшое потребление ресурсов или что-то еще?

Ответы [ 5 ]

42 голосов
/ 24 октября 2009

Footprint обозначает размер, занимаемый вашим приложением в оперативной памяти компьютера.

Footprint может иметь разное значение, если говорить о потреблении памяти. По моему опыту, объем памяти часто не включает память, выделенную в куче (динамическая память), или ресурс, загруженный с диска и т. Д. Это происходит потому, что динамическое распределение не является постоянным и может варьироваться в зависимости от того, как используется приложение или модуль. При сообщении о «низкой занимаемой площади» или «высокой занимаемой площади» обычно требуется постоянная или максимальная мера требуемого пространства.

Если, например, включение динамической памяти в отчет о посадочных площадках в редакторе изображений, эта площадь будет полностью зависеть от размера изображения, загружаемого пользователем в приложение.

В контексте сторонней библиотеки автор библиотеки может оптимизировать объем статической памяти библиотеки, гарантируя, что вы никогда не добавите больше кода в двоичный файл приложения, чем это абсолютно необходимо. Распространенным методом, используемым для этого, например, в C, является распределение библиотечных функций по отдельным c-файлам. Это связано с тем, что большинство компоновщиков C связывают весь код из c-файла с вашим приложением, а не только с вызываемой вами функцией. Таким образом, если вы поместите одну функцию в c-файл, это все, что компоновщик включит в ваше приложение при вызове. Если вы поместите пять функций в c-файл, компоновщик, вероятно, свяжет все из них в ваше приложение, даже если вы используете только одну из них.

С учетом всего вышесказанного, общее (академическое) определение отпечатка включает в себя все виды аспектов памяти / хранения.

6 голосов
/ 01 августа 2014

Из Википедии След памяти Статья:

Объем памяти относится к объему основной памяти, которую программа использует или ссылается во время работы.

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

4 голосов
/ 24 октября 2009

Обычно это объем памяти, который он занимает - «след», который он оставляет в памяти при работе. Тем не менее, это также может указывать на то, сколько места занимает ваш жесткий диск - хотя в наши дни это не проблема.

Если вы пишете приложение и у вас есть ограничения памяти, подумайте о запуске профилировщика, чтобы отслеживать интенсивность использования вашей программы.

3 голосов
/ 24 октября 2009

Это относится к ресурсам. Особенно память. Это требует меньшего количества памяти при запуске.

1 голос
/ 24 октября 2009

да, такие ресурсы, как память или диск

...