dic 13

Variables globales ¿problema? y ¡solución!

Posted in foro, ideas

Nuestro amigo Miguel nos propone una solución al uso de variables en memoria, y dice textualmente:

Pues bien despues de volverme loco por la lentitud de una aplicacion que en local me va de vicio pero en la nube no, resulta que parte del problema era la modificacion de variables globales em “memoria” tarda un huev… en modificarlas no entiendo el porque pero bueno. El hecho es que si la variable se va a mover poco pues la modificas y ya esta, pero si la vas a mover mucho y estas en la nube creas una tabla en memoria hay te creas unos campos para variable numerica otro alfabetica, booleana etc… dos funciones una para escribir en un reg N el valor y otra para leer el valor y en vez de modif variables grabas y lees la tabla es como 5 veces mas rápido que modif variable y se nota un huev….

Este es el hilo oficial:

¿Variable global en memoria o tabla en memoria?

Y despues de leer este hilo del foro, empece a pensar en publicar un pequeño articulo sobre este tema, sobre la realización de un ejemplo tal y como Miguel, el autor de este hilo, nos propone el uso de una tabla para almacenar las variables globales en memoria para mejorar el rendimiento de este tipo de variables.

Tal y como el propone, el ejemplo es sencillo de resolver. Solo necesitamos:

  • Una tabla “en memoria”, con los campos para almacenar los identificadores de las variables y sus valores
  • Una función para guardar y modificar los valores de esas “variables”
  • Una función para leer el contenido de las “variables”

Ya esta, con esto, tan sencillo y básico, podemos mejorar el rendimiento del uso de variables en memoria y conseguir que sean hasta 5 veces mas rápidas (y vamos a creer lo que nos dice, ya que en el momento de escribir este articulo aún no he podido realizar pruebas para poder verificar dicha afirmación).

Pero, tras empezar a escribir el articulo, me rondaba algo por la cabeza, algo me decia que esto no podia quedar ahi, que tenia que haber más, una solución sencilla y brillante, de las que cuesta llegar a averiguar, y cuando llegas a dar con la solución, piensas, ¿porque no se me habrá ocurrido antes?

Y luego pensé, porque no podemos aplicar esta misma solución para las variables globales “en disco” y la solución es mas sencilla aún. Si ya hemos realizado el ejemplo anterior, y para ello hemos utilizado una tabla en memoria, porque no hacer lo mismo con una tabla “en disco”.

Porque debemos preguntarnos, si ha funcionado con variables en memoria y ha sido mas eficiente, ¿porque no probar con variables en disco?

Además, ya habiamos resuelto un problema importante con variables de tipo array, recuerdas, y si aplicamos esta misma lógica, el ejercicio quedaria resuelto tanto para variables de tipo array en memoria, como para variables de tipo array en disco.

Create PDF    Enviar artculo en formato PDF   
comments: Closed

3 Responses to “Variables globales ¿problema? y ¡solución!”

  1. Francisco Hoyos dice:

    Ya estás tardando en hacer las pruebas…

  2. Pepeto dice:

    Francisco,
    me falta tiempo, que aun no he cenao, 😀
    y la mujer tambien exige, 😀 😀 😀

    Lo dicho tambien es aplicable a V6, puedes probar a ver que tal va.

    un abrazo
    Jose Luis



Pings responses to this post