Newsgroup: it.comp.os.linux.sys
Titolo: inefficenza della FAT: motivi?

secondo voi, la differenza __abissale__ di velocita` in operazioni su file 
grandi che si riscontra con GNU/Linux fra partizioni fat e partizioni 
ext*, e` dovuta alla fat di x se`, o all'implementazione di Linux della 
FAT che fa skifo [rispetto a quella di win] ?
-- 
    Pardo
 
http://pardo.cjb.net
 
    PGP pub key ID: 3FC56534 (available on 
pgp.mit.edu
 & @ my website)

 
precisa il tipo do operazioni e cosa intendi per grandi...

Con grossi dati intendo dai circa 100 mega in avanti, sia un singolo file 
o una directory con tanti file piu` piccoli...
Operazioni: qualunque, sia lettura o scrittura, che richiedano accesso 
continuato e x lo piu` sequenziale.
Insomma la differenza e` rilevabile a occhio, se copio file di centinaia 
di mega o giga si risparmiano MINUTI, se apro le anteprime d 1 centinaio d 
immagini in una directory pure.
E cmq e` documentato anche da benchmark che si trovano in rete che fat le 
prende di brutto dagli altri in quasi tutti i test, ma sono sempre bench 
condotti con GNU/Linux.
Siccome nn ho trovato test FAT vs NTFS in Windows, ma in ambiente Windows 
c'e` la credenza universale che come pura velocita` FAT sia pari se non 
lievemente meglio a NTFS, mi e` venuto il legittimo dubbio che nn 
sia l'implementazione Linuxesca di FAT ad essere inefficente.
Altrimenti o la "credenza" e` una minchiata inventata da qualche niubbo, 
oppure anche NTFS e` brutalmente piu` lento? Maah...


 Linux della FAT che fa skifo [rispetto a quella di win] ?
Parlare di FAT è piuttosto generico, fat16 o fat32? E i blocchi di quanti
bytes sono?
E sopratutto, le operazioni di cui parli le esegui sia sotto linux che win
con prestazioni drammaticamente differenti?
E' ovvio che se tenti di leggere un file lungo svariati mega su una fat16
con settori di 512 bytes è molto penalizzante rispetto ad una fat32 con
settori da 4K o maggiori...figurarsi rispetto a ext2.
Non sono un esperto di filesystem, e quindi non ti so dire quanto bene
sia implementata la cache di fat in linux, ma devo dire che fino ad ora
non mi ero mai accorto che ci fossero problemi di velocità con fat.
Saluti
Valentino

http://aurora.zemris.fer.hr/filesystems/
quel test corrisponde perfettamente alla mia esperienza
basta vedere i grafici..


 condotti con GNU/Linux.
Credo che il problema sia la struttura del FS.
La FAT ha un immenso "file" all'inizio (e una copia alla fine) del disco
che contiene i nomi dei file e tutti i puntatori ai vari blocchi.
ext2/3 funzionano ad inode che e' un po' piu' complicato spiegare.
In pratica, in Windows solitamente la FAT viene quasi tutta letta in RAM e
da li' vengono presi i puntatori per leggere i vari blocchi dei file.
In Linux questa "ottimizzazione" non c'e' perche' c'e' di mezzo il VFS.
Dal mio punto di vista e' un vantaggio perche' mi fa risparmiare RAM, ma
effettivamente per leggere il file Linux deve continuamente spostare la
testina all'inizio del disco, leggere la FAT, andare al blocco da leggere,
poi tornare alla FAT, poi andare al blocco successivo, ecc. ecc.
O almeno e' come la penso io, non mi sono andato a leggere il codice del
driver VFAT di Linux... :)
Bye.