Capacidad de variable de memoria HARBOUR

Post Reply
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Capacidad de variable de memoria HARBOUR

Post by JoseAlvarez »

Saludos amigos del foro.

Al extraer un campo de tipo MEDIUMTEXT de mysql, ¿Qué capacidad tiene HARBOUR para almacenar el dato en una variable de memoria tipo alfanumérica en el caso que el mismo en la tabla posea el máximo de su tamaño que son 16,777,215 caracteres ?
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Capacidad de variable de memoria HARBOUR

Post by carlos vargas »

En teoría límite de memoria, yo he levantado con memoread archivos de más de 16MB en variables de memorias sin problemas.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: Capacidad de variable de memoria HARBOUR

Post by JoseAlvarez »

carlos vargas wrote:En teoría límite de memoria, yo he levantado con memoread archivos de más de 16MB en variables de memorias sin problemas.
16mb para una variable es bastante. Gracias carlos por la información.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
Antonio Linares
Site Admin
Posts: 42270
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Capacidad de variable de memoria HARBOUR

Post by Antonio Linares »

Si la aplicación es de 64 bits, usando Harbour y FWH, la capacidad de uso de memoria es muchísimo mayor.
Una aplicación de 32 bits puede direccionar hasta 4 gigabytes (GB) de memoria. Esto se debe a que el tamaño de la memoria direccionable se define por el número de bits que se utilizan para representar la dirección de memoria. En un sistema de 32 bits, se utilizan 32 bits para representar la dirección, lo que significa que hay 2^32 = 4.294.967.296 direcciones posibles.

Por otro lado, una aplicación de 64 bits puede direccionar hasta 16 exabytes (EB) de memoria. Esto se debe a que en un sistema de 64 bits, se utilizan 64 bits para representar la dirección, lo que significa que hay 2^64 = 18.446.744.073.709.551.616 direcciones posibles.
Eso es en teoria, en la práctica es menor obviamente.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: Capacidad de variable de memoria HARBOUR

Post by JoseAlvarez »

Gracias Master Linares.

Ahora la otra pregunta:

Cual es el máximo de caracteres para una variable alfanumerica de memoria en Harbour? Tiene algún límite?
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
Antonio Linares
Site Admin
Posts: 42270
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Capacidad de variable de memoria HARBOUR

Post by Antonio Linares »

Depende de la memoria libre de la que dispongas.

Prueba con esto:

Code: Select all | Expand

 local c := Space( 2 ^ 24 )

   MsgInfo( Len( c ) )
Verás que no permite 2 ^ 32. Aunque en teoría debería poder llegar a ese valor, Windows no lo permite.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: Capacidad de variable de memoria HARBOUR

Post by JoseAlvarez »

Gracias Nuevamente Master.

Ya hice la prueba, lo máximo que reconoce con HARBOUR es 2^30 que serian 1.073.741.824 caracteres o 1GB.

Corríjame si me equivoco.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
Antonio Linares
Site Admin
Posts: 42270
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Capacidad de variable de memoria HARBOUR

Post by Antonio Linares »

Parece correcto :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Enrico Maria Giordano
Posts: 8728
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Capacidad de variable de memoria HARBOUR

Post by Enrico Maria Giordano »

With 64 bit we can rise it till 2 ^ 35, both Harbour and xHarbour, with 16 GB RAM:

Code: Select all | Expand

FUNCTION MAIN()

    LOCAL cSpace := SPACE( 2 ^ 35 )

    ? LEN( cSpace )

    INKEY( 0 )

    RETURN NIL
Post Reply