Pregunta

Escuché que muchas bibliotecas como JXTA y PjSIP tienen huellas más pequeñas. ¿Esto apunta a un pequeño consumo de recursos o algo más?

¿Fue útil?

Solución

Huella designa el tamaño que ocupa tu aplicación en la memoria RAM de la computadora.

La huella puede tener un significado diferente al hablar sobre el consumo de memoria. En mi experiencia, la huella de memoria a menudo no incluye la memoria asignada en el montón (memoria dinámica), o el recurso cargado desde el disco, etc. Esto se debe a que las asignaciones dinámicas no son constantes y pueden variar según la forma en que se use la aplicación o el módulo. Al informar " baja huella " o " huella alta " ;, generalmente se desea una medida constante o superior del espacio requerido.

Si, por ejemplo, se incluye la memoria dinámica en el informe de la huella de un editor de imágenes, la huella dependerá completamente del tamaño de la imagen cargada en la aplicación por el usuario.

En el contexto de una biblioteca de terceros, el autor de la biblioteca puede optimizar la huella de memoria estática de la biblioteca asegurándose de que nunca se vincule más código en el binario de su aplicación del que sea absolutamente necesario. Un método común utilizado para hacer esto, por ejemplo, en C, es distribuir las funciones de la biblioteca para separar los archivos c. Esto se debe a que la mayoría de los enlazadores en C enlazarán todo el código de un archivo C a su aplicación, no solo la función a la que llama. Entonces, si pones una sola función en el archivo c, eso es todo lo que el vinculador incorporará en tu aplicación cuando la llames. Si coloca cinco funciones en el archivo c, el enlazador probablemente las vinculará a todas en su aplicación, incluso si solo usa una de ellas.

Dicho todo esto, la definición general (académica) de huella incluye todo tipo de aspectos de memoria / almacenamiento.

Otros consejos

De la Wikipedia huella de memoria artículo:

  

La huella de memoria se refiere a la cantidad de memoria principal que un programa usa o hace referencia mientras se ejecuta.

     

Esto incluye todo tipo de regiones de memoria activa, como el segmento de código que contiene (en su mayoría) instrucciones de programa (y, en ocasiones, constantes), segmento de datos (inicializado y sin inicializar), memoria de pila, pila de llamadas, además de la memoria necesaria para contener cualquier estructura de datos adicional , como tablas de símbolos, estructuras de datos de depuración, archivos abiertos, bibliotecas compartidas asignadas al proceso actual, etc., que el programa siempre necesita durante la ejecución y se cargará al menos una vez durante toda la ejecución.

En general, es la cantidad de memoria que ocupa, la "huella" que deja en la memoria cuando se ejecuta. Sin embargo, también puede referirse a la cantidad de espacio que ocupa en su disco duro, aunque en estos días eso no es un problema.

Si está escribiendo una aplicación y tiene limitaciones de memoria, considere ejecutar un generador de perfiles para hacer un seguimiento de cuánto está usando su programa.

Se refiere a los recursos. Particularmente la memoria. Requiere una menor cantidad de memoria cuando se ejecuta.

sí, recursos como la memoria o el disco

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top