elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Cómo la PC usa los códigos?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo la PC usa los códigos?  (Leído 848 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.225


Superhacker (es broma xD )


Ver Perfil
¿Cómo la PC usa los códigos?
« en: 1 Marzo 2024, 09:39 am »

En realidad no me refiero a algo tan profundo sino más bien a lo siguiente: Supongan un programa que en cierto punto tiene:
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.
Ahí lo que va a leer es poco salvo que deba cargar el archivo. Supongo que si el if se chequea mucho pero ocurre poco entonces conviene, pero cargar un archivo externo es más lento que si las instrucciones están en el código ¿no?

En una función:
Código:
Si A==1
  // Usar la función B.
sino
  // Poco.
Ahí no sé si (cuando el programa se transforma en código) donde dice función se sustituye por lo que sea esa función, para que sea más rápido, o no, para que ocupe menos espacio. Quizá depende del lenguaje, compilador, no sé ¿en general cómo es? ¿y en Macromedia Flash 5?
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.

¿Está bien seguir programando "normal" entonces?


En línea

RayR

Desconectado Desconectado

Mensajes: 239


Ver Perfil
Re: ¿Cómo la PC usa los códigos?
« Respuesta #1 en: 2 Marzo 2024, 00:09 am »

Lo que te aconsejaría es que simplemente programes como te sea a ti más conveniente. Incluso al crear programas en lenguajes que generan código nativo, como C y C++, determinar a priori si llamar a una función es más/menos rápido, genera código más/menos grande, etc. que escribir directamente el código, es prácticamente imposible, y si en algún lugar lees lo contrario, quien lo escribió no tiene idea de lo que habla. Únicamente analizando el código exacto en cada caso se pueden hacer estimaciones, y aún así es muy complejo y depende de muchas cosas.

Además, tú programas en Flash, el cual hasta donde sé, no compila el ActionScript a código nativo sino a byte code que el reproductor (ya sea el independiente o el que se incluye en los .exe) ejecuta, por lo que casi cualquier explicación general que te den, sea ChatGPT o una persona, te servirá de poco o nada. Sólo alguien que conozca a fondo cómo funciona internamente Flash 5 podría contestar bien tus preguntas. Yo te podría contestar cómo es en los programas nativos, pero es casi 100% seguro que nada de eso aplica para Flash, por lo que no le veo mucho caso.

Lo que podrías hacer es probar escribiendo código de una y otra forma y comparar su ejecución. A menos que notes una diferencia importante (y realmente lo dudo), lo mejor es, como te dije al inicio, que programes como te guste a ti.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como se desencriptan códigos como estos: ''sºÁÓrX''
Programación General
Ngeooz 0 1,838 Último mensaje 29 Diciembre 2013, 23:58 pm
por Ngeooz
¿Cómo mejorar estos códigos?
PHP
Richter{}; 1 1,695 Último mensaje 16 Noviembre 2014, 00:09 am
por dimitrix
Librería de códigos C# (Compartan aquí sus códigos) « 1 2 3 »
.NET (C#, VB.NET, ASP)
DarK_FirefoX 24 34,004 Último mensaje 12 Diciembre 2018, 02:47 am
por z3nth10n
Como solucionar errores de software y como encontrar los codigos de error.
Dudas Generales
Line 3 3,178 Último mensaje 5 Marzo 2019, 03:29 am
por Line
Mis códigos A2F para discord no funcionan y no tengo los códigos de seguridad
Hacking
Lotte 0 2,323 Último mensaje 15 Mayo 2022, 17:54 pm
por Lotte
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines