Подтвердить что ты не робот

Что означает небольшая занимаемая площадь в плане программирования?

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

4b9b3361

Ответ 1

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

След может иметь различный смысл, говоря о потреблении памяти. По моему опыту, область памяти часто не включает в себя память, выделенную в куче (динамической памяти) или ресурс, загруженный с диска и т.д. Это связано с тем, что динамические распределения не являются постоянными и могут варьироваться в зависимости от того, как используется приложение или модуль. Когда вы сообщаете о "низкой занимаемой площади" или "высокой занимаемой площади", обычно требуется желаемый или максимальный размер требуемого пространства.

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

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

Все это, как говорится, общее (академическое) определение footprint включает все виды аспектов памяти/хранения.

Ответ 2

Из Википедии Объем памяти:

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

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

Ответ 3

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

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

Ответ 4

Это относится к ресурсам. Особенно память. При работе требуется меньший объем памяти.

Ответ 5

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