Page 1 of 1

Capacidad de variable de memoria HARBOUR

PostPosted: Tue Mar 26, 2024 7:03 pm
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 ?

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Wed Mar 27, 2024 4:28 am
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.

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Wed Mar 27, 2024 12:38 pm
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.

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Wed Mar 27, 2024 12:48 pm
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.

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Wed Mar 27, 2024 5:55 pm
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?

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Wed Mar 27, 2024 6:01 pm
by Antonio Linares
Depende de la memoria libre de la que dispongas.

Prueba con esto:
Code: Select all  Expand view
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.

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Thu Mar 28, 2024 12:17 am
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.

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Thu Mar 28, 2024 6:33 am
by Antonio Linares
Parece correcto :-)

Re: Capacidad de variable de memoria HARBOUR

PostPosted: Thu Mar 28, 2024 9:05 am
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 view
FUNCTION MAIN()

    LOCAL cSpace := SPACE( 2 ^ 35 )

    ? LEN( cSpace )

    INKEY( 0 )

    RETURN NIL