11.30.05

Liberar Memoria Con Vb .NET

Posted in VB.NET Develop at 4:16 pm by Mercenario

Chequeando una aplicación que estoy desarrollando, he verificado el uso excesivo de memoria que consumen las aplicaciones desarrolladas en NET FrameWork.

Despues de probar que descargaba correctamente todos los objetos que utiliza la aplicación mediante el uso del Dispose() y especificamentes los objetos DataSet y DataTable, ya que estos hay que descargarlos de memoria manualmente, observe que la memoria seguia sin descargarse correctamente. Por lo que probe con el GC (Garbage Collector) para forzar la liberación de memoria, pero el resultado fue identico.

Despues de probar, recompilar, optimizar el código fuente opte por “obligar” a la aplicación (al proceso) por completo a liberar la memoria no necesaria. Para ello me enfunde en el manejo de las Api’s, localizando SetProcessWorkingSetSize, que fuerza al proceso dado a liberar la memoria no usada (como cuando minimizas la aplicacion). Para ello me desarrolle la funcion ClearMemory, accesible desde cualquier punto de la aplicación que me permite optimizar el uso de memoria por parte del NET FrameWork.

‘Declaración de la API
Private Declare Auto Function SetProcessWorkingSetSize Lib “kernel32.dll” (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean

‘Funcion de liberacion de memoria
Public Sub ClearMemory()

    Try

      Dim Mem As Process
      Mem = Process.GetCurrentProcess() SetProcessWorkingSetSize(Mem.Handle, -1, -1)

    Catch ex As Exception
    ‘Control de errores
    End Try

End Sub

11.23.05

Hello World!!!

Posted in Historias... at 8:26 pm by Mercenario

Hoy Comienzo Blog Sobre La Vida Del Programador Mercenario, un rincon apartadado de la realidad y leyes establecidas dentro de un mundo de in-coherencias en el que nadia mas que otro Programador comprenderia.

Os cito una parte del maginifico texto de Memorias de un informatico:

“pues nadie que no sea informático tiene ni puta idea de lo que significa un proyecto informático, una línea de código fuente, un compilador, una instrucción for, o un puto puntero a char”

Cuando lei estas lineas no se por que pero me dio por pensar mucho: sobre internet, sobre mi, sobre la programacion … y llegue a una conclusión: “Ni un puto Blog que exprese mis inquietudes en el mundo de la programacion“…. por ello he decidido crear este pequeño rincon para SOLO nosotros, los programadores!!!!

Por ello, el primer post como no si no podia ser el tipico Hello World!!!… que programador nada mas leer estas palabras recuerda su primer programa???

Os acordais aun de…

#include “stdio.h”
int main(int argc, char** argcv)
{

    printf(“¡Hola, mundo!\n”);
    return 0;

}

Sin mas me despido :)



free geoip