C'è ancora il limite di 2GB per i file FXT? - pagina 2

 
WHRoeder:

Ci sono due limitazioni di 2GB.

  1. Lettura/scrittura sequenziale come FXT: Il limite di lunghezza del file di 2GB è una limitazione del sistema operativo a 32 bit. Esegui un sistema operativo a 64 bit
  2. Lettura casuale (position seek.) Richiede un'applicazione a 64 bit per offset oltre i 2GB.


Non ci sono tali limitazioni basate su 32/64 OS, la limitazione della dimensione dei file viene dal filesystem usato. Se stai ancora usando FAT, probabilmente è il momento di aggiornare.
 

Come si fa a cercare oltre i 2GB quando il più grande intero che si può avere con 32 bit è 2GB?

Come fa il file system a segnalare la dimensione di un file di 2GB quando il numero intero di 32 bit non può contenere la dimensione.

Nessuno ha messo un limite nel file system. Il file system ha il limite a causa del limite di 32 bit interi che deve usare.

 
WHRoeder:
Come si fa a cercare oltre i 2GB quando il più grande intero che si può avere con 32 bit è 2GB?
In modo incrementale?
 
No, il file system deve ancora ricordare dove si trova tra le letture e non può.
 
WHRoeder:

Come si fa a cercare oltre i 2GB quando il più grande intero che si può avere con 32 bit è 2GB?

Come fa il file system a segnalare la dimensione di un file di 2GB quando il numero intero di 32 bit non può contenere la dimensione.

Nessuno ha messo un limite nel file system. Il file system ha il limite a causa del limite di 32 bit interi che deve usare.


Vi sbagliate. Cosa gli impedisce di usare più di un intero? Per esempio.
 
  1. No, non lo sono. Non sto dicendo che non potrebbero essere modificati, sto spiegando perché esiste.
  2. Il tuo esempio è inutile. Mt4 int non è un long è 32 bit. Quindi non puoi usare quelle chiamate.
  3. Nessuno ha intenzione di modificare un file system vecchio di tre decenni.
 
WHRoeder:

Come si fa a cercare oltre i 2GB quando il più grande intero che si può avere con 32 bit è 2GB?

Come fa il file system a segnalare la dimensione di un file da 2GB quando il numero intero a 32 bit non può contenere la dimensione.

Nessuno ha messo un limite nel file system. Il file system ha il limite a causa del limite di 32 bit interi che deve usare.


La lunghezza del file di 2GB non è una limitazione del sistema operativo a 32 bit. Le funzioni Win32 come GetFileSize() e SetFilePointer() hanno il supporto per file più grandi. (È solo un fastidio lavorarci.)

E la dimensione massima del file su FAT32 è 4GB, non 2GB. http://support.microsoft.com/kb/314463

MT4 non è scritto in MQL. Il fatto che MQL abbia solo un intero firmato a 32 bit non significa che gli interni di MT4 possano usare solo interi firmati a 32 bit.

MT4 ha (o aveva) un limite di 2GB sui file FXT per due motivi. 1: lavorare con file >2GB è una seccatura. 2: nel 2005 c'erano un sacco di dischi FAT32, c'era una limitata cronologia delle barre disponibile sul mercato, e quindi non c'era un motivo ovvio per gli sviluppatori di soffrire la PITA di lavorare con file >2GB.
 

Allora ho fatto un test su XP, 32bit, build 500. Il file fxt cresce correttamente (andando oltre i 4gb), ma MT4 non lo legge completamente, fermando il test/risultati nel solito modo.

 
Trevhib:

Allora ho fatto un test su XP, 32bit, build 500. Il file fxt cresce correttamente (andando oltre i 4gb), ma MT4 non lo legge completamente, fermando il test/risultati nel solito modo.


Ciao Trevhib,

Il motivo dei miei post precedenti in questo thread è proprio perché, sul mio computer Windows 7 64-bit con la build 500, un test che ho eseguito ha generato un file FXT di 3,8GB e il tester ha funzionato DALL'INIZIO ALLA FINE DELL'INTERO PERIODO DI TEST!!! Questa è una cosa che non era mai successa prima!

Altri trader possono verificare che la stessa cosa succede anche a loro, cioè che, almeno sui sistemi a 64 bit, il limite di 2GB di USO del file FXT sembra essere scomparso.

Grazie a tutti.

~DV

 
dark_voyager:

Ciao Trevhib,

Il motivo dei miei precedenti post in questo thread è proprio perché, sul mio computer Windows 7 64-bit con la build 500, un test che ho eseguito ha generato un file FXT di 3.8GB e il tester ha funzionato DALL'INIZIO ALLA FINE DELL'INTERO PERIODO DI TEST!!! Questa è una cosa che non era mai successa prima!

Altri trader possono verificare che la stessa cosa succede anche a loro, cioè che, almeno sui sistemi a 64 bit, il limite di 2GB di USO del file FXT sembra essere scomparso.

Grazie a tutti.

~DV


Ciao DV. Lo scopo del mio test (che ho condotto su un nuovo box di prova), era quello di rispondere almeno a una delle domande (nel senso che, alla luce di ciò che hai scoperto su 64-bit, non sembra essere stato risolto su 32-bit, in quanto fino a questo punto non sono sicuro che fosse stato stabilito). Almeno ora sappiamo questo.

Ho un portatile a casa che gira su Win7, 64-bit con la build 500. Farò un test per vedere se ottengo il tuo stesso risultato e riferirò.

Motivazione: