Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is meaning of small footprint in terms of programming?

Tags:

footprint

I heard many libraries such as JXTA and PjSIP have smaller footprints. Is this pointing to small resource consumption or something else?

like image 436
Xinus Avatar asked Oct 24 '09 13:10

Xinus


People also ask

What is the footprint of a computer?

In computer science, a footprint is a term used to describe how much space is occupied by an object. For example, if a computer (or another piece of external hardware) has a small footprint, it takes up smaller amount of desk space. A good example is a flat-panel display with a smaller footprint than a CRT monitor.

What does footprint mean in engineering?

Techopedia Explains Equipment Footprint Typically, the equipment footprint is the actual size of the computer device or equipment it takes on the room or floor of a data center facility.

What is low memory footprint?

Traditionally, low-memory-footprint programs were of importance to running applications on embedded platforms where memory would often be a constrained resource – so much so that developers typically sacrificed efficiency (processing speeds) just to make program footprints small enough to fit into the available RAM.

What is the footprint of an object?

The amount of geographic space covered by an object.


1 Answers

Footprint designates the size occupied by your application in computer RAM memory.

Footprint can have different meaning when speaking about memory consumption. In my experience, memory footprint often doesn't include memory allocated on the heap (dynamic memory), or resource loaded from disc etc. This is because dynamic allocations are non constant and may vary depending on how the application or module is used. When reporting "low footprint" or "high footprint", a constant or top measure of the required space is usually wanted.

If for example including dynamic memory in the footprint report of an image editor, the footprint would entirely depend on the size of the image loaded into the application by the user.

In the context of a third party library, the library author can optimize the static memory footprint of the library by assuring that you never link more code into your application binary than absolutely needed. A common method used for doing this in for instance C, is to distribute library functions to separate c-files. This is because most C linkers will link all code from a c-file into your application, not just the function you call. So if you put a single function in the c-file, that's all the linker will incoporate into your application when calling it. If you put five functions in the c-file the linker will probably link all of them into your app even if you only use one of them.

All this being said, the general (academic) definition of footprint includes all kinds of memory/storage aspects.

like image 173
sharkin Avatar answered Oct 14 '22 06:10

sharkin