¿Sigue vigente el límite de 2 GB para los archivos FXT? - página 2

 
WHRoeder:

Hay dos limitaciones de 2GB.

  1. Lectura/escritura secuencial como FXT: El límite de longitud de archivo de 2GB es una limitación del sistema operativo de 32 bits. Ejecute un SO de 64 bits
  2. Lectura aleatoria (búsqueda de posición.) Requiere una aplicación de 64 bits para desplazamientos superiores a 2GB.


No hay tales limitaciones basadas en un SO de 32/64, la limitación del tamaño de los archivos viene del sistema de archivos utilizado. Si todavía está usando FAT, probablemente sea el momento de actualizarlo.
 

¿Cómo se puede buscar más allá de 2GB cuando el mayor entero que se puede tener con 32 bits es 2GB?

¿Cómo informa el sistema de archivos del tamaño de un archivo de 2GB cuando el entero de 32 bits no puede contener el tamaño?

Nadie puso un límite en el sistema de archivos. El sistema de archivos tiene el límite debido al límite de enteros de 32 bits que tiene que usar.

 
WHRoeder:
¿Cómo buscar más allá de los 2 GB cuando el mayor número entero que se puede tener con 32 bits es de 2 GB?
¿Incrementalmente?
 
No, el sistema de archivos todavía tiene que recordar dónde está entre lecturas y no puede.
 
WHRoeder:

¿Cómo se puede buscar más allá de 2GB cuando el mayor entero que se puede tener con 32 bits es 2GB?

¿Cómo informa el sistema de archivos del tamaño de un archivo de 2GB cuando el entero de 32 bits no puede contener el tamaño?

Nadie puso un límite en el sistema de archivos. El sistema de archivos tiene el límite debido al límite de enteros de 32 bits que tiene que usar.


Usted está equivocado. ¿Qué les impide usar más de un entero ? Por ejemplo.
 
  1. No, no es así. No estoy diciendo que no se puedan modificar, estoy explicando por qué existe.
  2. Tu ejemplo es inútil. Mt4 int no es un long es de 32 bits. Así que no puedes usar esas llamadas.
  3. Nadie va a modificar un sistema de archivos de hace tres décadas.
 
WHRoeder:

¿Cómo se puede buscar más allá de 2GB cuando el mayor entero que se puede tener con 32 bits es 2GB?

¿Cómo informa el sistema de archivos del tamaño de un archivo de 2GB cuando el entero de 32 bits no puede contener el tamaño?

Nadie puso un límite en el sistema de archivos. El sistema de archivos tiene el límite debido al límite de enteros de 32 bits que tiene que usar.


La longitud del archivo de 2GB no es una limitación del sistema operativo de 32 bits. Las funciones de Win32 como GetFileSize() y SetFilePointer() tienen soporte para archivos más grandes. (Sólo es un PITA para trabajar).

Y el tamaño máximo de archivo en FAT32 es 4GB, no 2GB. http://support.microsoft.com/kb/314463

MT4 no está escrito en MQL. El hecho de que MQL sólo tenga un entero con signo de 32 bits no significa que los internos de MT4 sólo puedan usar enteros con signo de 32 bits.

MT4 tiene (o tenía) un límite de 2GB en los archivos FXT por dos razones. 1: trabajar con archivos de más de 2GB es un problema. 2: en 2005 había muchos discos FAT32, había un historial de barras limitado disponible en el mercado, y por lo tanto no había ninguna razón obvia para que los desarrolladores sufrieran el PITA de trabajar con archivos >2GB.
 

Así que hice una prueba en XP, 32bit, build 500. El archivo fxt crece correctamente (pasando de 4gb), pero MT4 no lo lee completamente, deteniendo la prueba/resultados de la manera habitual.

 
Trevhib:

Hice una prueba en XP, 32bit, build 500. El archivo fxt crece correctamente (superando los 4gb), pero MT4 no lo lee completamente, deteniendo la prueba/resultados de la forma habitual.


Hola Trevhib,

El motivo de mis anteriores mensajes en este hilo es precisamente porque, en mi ordenador con Windows 7 de 64 bits que ejecuta la build 500, una prueba que realicé generó un archivo FXT de 3,8GB y el probador se ejecutó DESDE EL INICIO HASTA EL FINAL DE TODO EL PERÍODO DE LA PRUEBA!!! ¡Esto es algo que nunca había ocurrido!

¿Pueden otros operadores verificar que les ocurre lo mismo, es decir, que, al menos en los sistemas de 64 bits, el límite de uso de archivos FXT de 2GB parece haber desaparecido?

Saludos a todos.

~DV

 
dark_voyager:

Hola Trevhib,

El motivo de mis anteriores mensajes en este hilo es precisamente porque, en mi ordenador con Windows 7 de 64 bits que ejecuta la compilación 500, una prueba que realicé generó un archivo FXT de 3,8 GB y el probador se ejecutó DESDE EL INICIO HASTA EL FINAL DE TODO EL PERÍODO DE LA PRUEBA!!! ¡Esto es algo que nunca había ocurrido!

¿Pueden otros operadores verificar que les ocurre lo mismo, es decir, que, al menos en los sistemas de 64 bits, el límite de uso de archivos FXT de 2GB parece haber desaparecido?

Saludos a todos.

~DV


Hola DV. El propósito de mi prueba (que realicé en una nueva caja de pruebas), era responder al menos a una de las preguntas (en el sentido de que, a la luz de lo que has descubierto en 64 bits, no parece que se haya solucionado en 32 bits, ya que hasta este momento no estoy seguro de que se haya establecido). Al menos ahora sabemos eso.

Tengo un portátil en casa que funciona con Win7, 64 bits y con la build 500. Haré una prueba para ver si obtengo el mismo resultado que vosotros y os informaré.