2009-10-24 16 views

Répondre

36

empreinte désigne la taille occupée par votre application dans la mémoire RAM de l'ordinateur.

empreinte peut avoir un sens différent quand on parle de la consommation de mémoire. D'après mon expérience, l'empreinte mémoire n'inclut souvent pas la mémoire allouée sur le tas (mémoire dynamique) ou la ressource chargée à partir du disque, etc. Les allocations dynamiques sont non constantes et peuvent varier en fonction de l'utilisation de l'application ou du module. Lorsque vous signalez une «faible empreinte» ou une «empreinte élevée», une mesure constante ou supérieure de l'espace requis est généralement souhaitée.

Si, par exemple, y compris la mémoire dynamique dans le rapport de l'empreinte d'un éditeur d'image, l'empreinte serait tout dépendra de la taille de l'image chargée dans l'application par l'utilisateur.

Dans le contexte d'une bibliothèque tierce, l'auteur de la bibliothèque peut optimiser l'empreinte mémoire statique de la bibliothèque en veillant à ne jamais lier plus de code que nécessaire dans le binaire de votre application. Une méthode couramment utilisée pour ce faire dans par exemple C, est de distribuer les fonctions de la bibliothèque pour séparer les fichiers c. C'est parce que la plupart des linkers C lieront tout le code d'un fichier c dans votre application, pas seulement la fonction que vous appelez. Donc, si vous mettez une seule fonction dans le fichier c, c'est tout ce que l'éditeur de liens va ajouter à votre application lorsque vous l'appelez. Si vous mettez cinq fonctions dans le fichier c, l'éditeur de liens les reliera probablement toutes dans votre application même si vous n'en utilisez qu'une seule.

Tout cela étant dit, la définition générale (académique) de l'empreinte comprend toutes sortes d'aspects mémoire/de stockage.

1

oui, les ressources telles que la mémoire ou d'un disque

2

Il ne se réfère aux ressources. En particulier la mémoire. Il nécessite une plus petite quantité de mémoire lors de l'exécution.

4

En général, il est la quantité de mémoire prend - « l'empreinte » laisse en mémoire lors de l'exécution. Cependant, il peut également se référer à la quantité d'espace qu'il prend sur votre disque dur - même si ces jours-ci c'est moins un problème.

Si vous écrivez une application et des limites de mémoire, envisagez d'exécuter un profileur de garder une trace de combien votre programme utilise.

6

De Wikipédia Memory footprint article:

empreinte mémoire fait référence à la quantité de mémoire principale qu'un programme utilise ou références lors de l'exécution. Ceci inclut toutes sortes de régions de mémoire actives comme le segment de code contenant (principalement) des instructions de programme (et parfois des constantes), segment de données (initialisé et non initialisé), mémoire de tas, pile d'appels plus mémoire requise pour contenir des données supplémentaires des structures, telles que des tables de symboles, des structures de données de débogage, des fichiers ouverts, des bibliothèques partagées mappées au processus en cours, etc., dont le programme a besoin pendant l'exécution et qui sera chargé au moins une fois pendant toute l'exécution.