Hack x Crack - Comunidad de Seguridad informática

Programación => C / C++ => Mensaje iniciado por: D3M3nte555 en Marzo 26, 2011, 10:00:23 pm

Título: Con respecto a La memoria del PC
Publicado por: D3M3nte555 en Marzo 26, 2011, 10:00:23 pm
Aca enfrentando a mis ideas, me encontré  discutiendo con ellas lo siguiente:
Si bien al declarar una variable se reserva un espacio en la memoria que luego se accederá. Luego, el rendimiento de un programa será influido en el momento en que se declaren  las variables o no?, es decir en C uno acostumbra a declar en el principio, pero en PHP se autodeclaran apenas se usan, luego, mi pregunta es: si las declaro antes de usarlas, se trabajará más rápido, o es un bobada?   qué dicen ustedes?
Título: Re:Con respecto a La memoria del PC
Publicado por: R3tr0 en Marzo 26, 2011, 10:15:05 pm
Aca enfrentando a mis ideas, me encontré  discutiendo con ellas lo siguiente:
Si bien al declarar una variable se reserva un espacio en la memoria que luego se accederá. Luego, el rendimiento de un programa será influido en el momento en que se declaren  las variables o no?, es decir en C uno acostumbra a declar en el principio, pero en PHP se autodeclaran apenas se usan, luego, mi pregunta es: si las declaro antes de usarlas, se trabajará más rápido, o es un bobada?   qué dicen ustedes?

Estoy empezando en programación y puede que mi respuesta sea bastante tonta , perdoname entonces xDDD

Pero yo creo que el tamaño que ocupa una variable no es tan grande como para hacer que un programa tenga un rendimiento notable , además teniendo en cuenta las grandes cantidades de memoria que llevan la mayoría de ordenadores de hoy en dia...
Título: Re:Con respecto a La memoria del PC
Publicado por: kenkeiras en Marzo 26, 2011, 10:45:03 pm
No podría asegurarlo, pero si hacemos caso a esto [http://extremisimo.com/10-formas-de-optimizar-el-codigo-php/ (http://extremisimo.com/10-formas-de-optimizar-el-codigo-php/)] en PHP es mejor declararlas antes de usarlas.

Pero en C, al ser compilado, da igual
Título: Re:Con respecto a La memoria del PC
Publicado por: piou en Marzo 26, 2011, 10:53:37 pm
Veamos, la respuesta es no. Se recomienda declarar variables al principio, o por lo menos yo lo hago, para tenerlo más organizado.

El sistema reserva la memoria que se vaya a necesitar a priori, osea variables definidas, eso sólo significa que puede crear un espacio para el programa, o bien más grande, o bien más pequeño, pero no creo que eso influya mucho, o más bien nada, en el rendimiento.

El rendimiento real del programa se verá influido por las operaciones que haga, algoritmos, etc...

Un ejemplo podría ser a la hora de ordenar listas de números, usar un algoritmo en el que recorres todo el array y para cada elemento miras los siguientes y los cambias si el primero es mayor que el segundo, o usar un algoritmo tipo mergesort.

El número de variables que declares no influirá en la rapidez del programa, sino que lo hará el algoritmo que uses, mientras que con el primero se consiguen un tiempo máximo de O(n²), con el mergeshort se peude conseguir uno de O(n*log n), bastante menor.


Otra cosa es que a lla hora de declarar cargues un montón de recursos, que es lo que pasa por ejemplo en los videojuegos, eso se resuelve aislando todo el proceso de declaración de variables, que puede tardar más tiempo, y poner la famosa pantalla de Cargando...