QNA > C > Cosa Significa La Dimensione Dell'unità Di Allocazione?

Cosa significa la dimensione dell'unità di allocazione?

La dimensione dell'unità di allocazione è la dimensione del blocco per ogni blocco. La decisione su quale dimensione impostarla è una questione di equilibrio tra velocità e non sprecare spazio sull'hard disk.

Per esempio, diciamo che hai impostato la dimensione dell'unità di allocazione a 4MB. E vuoi mettere un file di 3MB. Allora entrerà in quello slot, con 1MB sprecato (4-1). E poi volete inserire un file di 7MB. Userà completamente un blocco (4MB) e poi userà 3MB di un secondo blocco. Il secondo blocco sprecherà 1MB (4-3). Lo spreco medio per ogni file in questa unità sarà di 2MB (4MB/2). Quindi, se state mettendo 100 file in questo disco, vi aspettate di sprecare 200MB (100X2).

Sta a voi. In generale, per gli hard disk grandi (1TB+) vorresti essere aggressivo, specialmente se la velocità è solo 5400rpm, per compensare la loro lentezza. E per le microsd, le unità flash e gli SSD (meno di 512mb) si dovrebbe essere più conservativi per preservare lo spazio e ridurre gli sprechi.

Guardate i file che ci memorizzerete sopra. Qual è la dimensione media (dimensione totale dei file/numero di file)?

Ecco dove dovete decidere se essere aggressivi o no. Ma anche se sei aggressivo, in generale vorresti il 97,5% di efficienza dello spazio. Cioè stai sprecando meno del 2,5% dello spazio dei tuoi file.

Quello che faccio di solito è semplicemente prendere medio/20 e poi arrotondare per difetto (più piccolo). Questo perché 5/100=1/20, che è il 5%. Lo spreco di spazio è in media la metà della dimensione di ogni slot assegnato. Per esempio un'allocazione di 32kb avrà uno spreco medio di 16kb (32/2). Quindi il tuo spreco di spazio non sarà più del 2,5% se prendi medium/20.

Se vuoi essere più conservativo puoi andare (smallest+medium)/40. Allora riduci lo spreco all'1,25% (2,5/100=1/40). Ma sarai ad una velocità più lenta di medium/20.

Formula:

La tua dimensione media del file
________________________________________________
(100% ÷ % di spreco di spazio che hai scelto) ÷ 2

o

2 X (la dimensione media del tuo file) X (% di spreco di spazio che hai scelto)
___________________________________________________________________
100%

Esempio: I tuoi file hanno una dimensione totale di 2.3GB (2300MB). Ci sono 1386 file. Quindi la dimensione media è 1,659MB/file. Dividendo questo per 20 (per il 97,5% di efficienza) avrai 0,08295MB/file, o approssimativamente 82,95kb. Arrotondando per difetto (al livello successivo più piccolo) avrai 64kb. Questa è la dimensione che dovreste impostare. Puoi sapere con sicurezza che hai meno del 2,5% di spreco di spazio per file.

Ogni file che hai sprecherebbe circa 32kb (64kb/2). Con 1386 file sprecherete 44.352kb, o 44.352MB. 44,352MB è meno del 2,5% di 2300MB

In alternativa puoi essere più aggressivo e arrotondare a 128kb. Ma sappiate che avrete meno del 95% di efficienza (o più del 5% di spreco di spazio). Il beneficio, naturalmente, è che il vostro disco leggerà più velocemente che se lo impostate a 64kb.

Di Santa

Quale broker MQTT è il migliore per un backend di app mobile che cerca di implementare IM? :: Perché è difficile trovare una ragazza?
Link utili