Código:
Si A==1
// Mucho código aquí.
sino
// Poco.
Ese "Mucho código" ¿la PC lo leyó desde que el programa se ejecutó o va cargando línea por línea sólo si lo necesita? El concepto de "lo leyó" es un poco vago, pero me imagino que algo de eso hay, no sería lo mismo esto:
"El programador me dice que si A==1 haga ciertas cosas, leeré cuales si es necesario: ¿A==1? No".
que esto:
"El programador me dice que si A==1 haga *lee rapidísimo un montón de cosas, medio así
https://youtu.be/AwC4sNXYXLA?t=3445 *
¿A==1? No, ah tonces leí en vano".
No es lo mismo darle un link que darle una base de datos enorme...
Supongan también que todo ese código, es decir incluyendo el if, se va a ejecutar muchas veces.
Si las instrucciones dentro de un if se cargan o leen aunque no se usen ¿entonces es mejor que estén en un archivo externo, o en una función, o da igual?
En archivo externo:
Código:
Si A==1
// Cargar archivo B.
sino
// Poco.
En una función:
Código:
Si A==1
// Usar la función B.
sino
// Poco.
Si sólo se carga o lee "el link" ¿entonces es parecido a cargar un archivo externo? Pareciera, pero la función está en la RAM ¿no? ¿entonces convertirlo en función es incluso peor que dejarlo así nomás, ya que al definir la función se le da un nombre (ergo ocupa más memoria que sin nombre)?
El tema es que en Flash se cargan o leen frames y no quiero que se cargue o lea a cada rato más de lo necesario.
Respuesta de GPT:
Citar
Cuando un programa se ejecuta en una computadora, el código se carga en la memoria y se va ejecutando línea por línea en secuencia, a menos que se encuentre una estructura de control, como un condicional (if), que altere el flujo de ejecución.
En el caso que mencionas, si el programa tiene un condicional como este:
```python
if A == 1:
# Mucho código aquí.
else:
# Poco.
```
El código dentro del condicional solo se ejecutará si se cumple la condición `A == 1`. Si la condición no se cumple, la PC simplemente saltará a la siguiente línea de código después del bloque `else`. El código dentro del bloque que no se ejecuta no se lee línea por línea, simplemente se ignora.
En cuanto a la carga de archivos o funciones, hay algunas consideraciones a tener en cuenta:
1. Archivo externo: Si tienes un bloque de código que se ejecuta raramente, y ese bloque es grande o consume muchos recursos, podría ser beneficioso almacenarlo en un archivo externo y cargarlo solo cuando sea necesario. Sin embargo, cargar un archivo externo puede tener un costo adicional en términos de tiempo de acceso al disco y procesamiento para leer su contenido.
2. Funciones: Las funciones son bloques de código que se pueden llamar desde diferentes partes del programa. Cuando una función se llama, el programa salta a la definición de la función y ejecuta el código dentro de ella. Una vez que se completa la ejecución de la función, el programa vuelve al punto donde se realizó la llamada.
Definir una función no ocupa más memoria solo por tener un nombre. El nombre de la función es necesario para poder llamarla desde otras partes del programa. Las funciones se cargan en la memoria cuando el programa se inicia, pero no se ejecutan hasta que se las llama.
En resumen, si quieres optimizar el rendimiento y la eficiencia de un programa, debes considerar la frecuencia de ejecución de un bloque de código y su tamaño o consumo de recursos. Si un bloque se ejecuta raramente y es grande o consume muchos recursos, podría ser beneficioso almacenarlo en un archivo externo y cargarlo solo cuando sea necesario. Por otro lado, utilizar funciones puede ayudar a organizar y reutilizar el código, pero su impacto en el rendimiento depende del contexto específico y del lenguaje de programación que estés utilizando.
En el caso que mencionas, si el programa tiene un condicional como este:
```python
if A == 1:
# Mucho código aquí.
else:
# Poco.
```
El código dentro del condicional solo se ejecutará si se cumple la condición `A == 1`. Si la condición no se cumple, la PC simplemente saltará a la siguiente línea de código después del bloque `else`. El código dentro del bloque que no se ejecuta no se lee línea por línea, simplemente se ignora.
En cuanto a la carga de archivos o funciones, hay algunas consideraciones a tener en cuenta:
1. Archivo externo: Si tienes un bloque de código que se ejecuta raramente, y ese bloque es grande o consume muchos recursos, podría ser beneficioso almacenarlo en un archivo externo y cargarlo solo cuando sea necesario. Sin embargo, cargar un archivo externo puede tener un costo adicional en términos de tiempo de acceso al disco y procesamiento para leer su contenido.
2. Funciones: Las funciones son bloques de código que se pueden llamar desde diferentes partes del programa. Cuando una función se llama, el programa salta a la definición de la función y ejecuta el código dentro de ella. Una vez que se completa la ejecución de la función, el programa vuelve al punto donde se realizó la llamada.
Definir una función no ocupa más memoria solo por tener un nombre. El nombre de la función es necesario para poder llamarla desde otras partes del programa. Las funciones se cargan en la memoria cuando el programa se inicia, pero no se ejecutan hasta que se las llama.
En resumen, si quieres optimizar el rendimiento y la eficiencia de un programa, debes considerar la frecuencia de ejecución de un bloque de código y su tamaño o consumo de recursos. Si un bloque se ejecuta raramente y es grande o consume muchos recursos, podría ser beneficioso almacenarlo en un archivo externo y cargarlo solo cuando sea necesario. Por otro lado, utilizar funciones puede ayudar a organizar y reutilizar el código, pero su impacto en el rendimiento depende del contexto específico y del lenguaje de programación que estés utilizando.
¿Está bien seguir programando "normal" entonces?