Para los idiomas interpretados, casi con certeza la respuesta es sí, es una pérdida de memoria. Sin embargo, probablemente sea un desperdicio de memoria muy pequeño.
Para lenguajes compilados, puede ser un desperdicio de memoria, si la variable se exporta en un objeto compartido (o en un objeto compartido). Lo mismo se aplica para los nombres de funciones, por cierto.
Cuando un nombre de variable se exporta a través de un enlace dinámico, su nombre ocupa espacio en la memoria, generalmente al menos dos veces (una para el programa que define el símbolo y otra para el programa que hace referencia al símbolo).
- Se me pide que lea datos de un archivo .txt en una matriz y que haga cosas con esa información (encontrar promedio, encontrar número de elementos, encontrar valores máximos / mínimos). ¿Cómo se puede hacer esto en Java?
- ¿Cómo podemos decir que la búsqueda binaria es un algoritmo rápido?
- ¿Se puede ordenar una lista de números en un número menor de pases que el indicado por la notación Big-O?
- ¿Se aplican las estructuras de datos y algoritmos para C / C ++ a JavaScript?
- ¿Qué es una explicación intuitiva de la minimización de arrepentimiento contrafactual?
Por ejemplo, en un sistema Linux que usa los mecanismos de compilación predeterminados, cada programa y objeto compartido tendrá una sección llamada .dynstr, que contiene los nombres de símbolos asociados con ese archivo que se exportan o importan. La sección .dynstr de hecho consume memoria; sin embargo, el impacto de ese consumo de memoria generalmente no es importante para la mayoría de los casos de uso de Linux. Esto se debe a que la sección es de solo lectura y solo necesita ser físicamente residente mientras se accede a ella, debido a la paginación de memoria virtual.
En su mayor parte, no necesita preocuparse por que los nombres de variables y funciones sean demasiado largos en un lenguaje como C o C ++, pero si se encuentra escribiendo código vinculado dinámicamente, puede comenzar a darse cuenta del impacto en el tiempo de ejecución de nombres largos de símbolos.