Che cosa ha cambiato la visualizzazione dell'elenco dei Finder in Lion per rendere "Calcola tutte le dimensioni" in modo esponenzialmente più veloce?

10

Fin da prima che Mac OS X entrasse in scena, siamo stati in grado di chiedere al Finder di Calcolare tutte le dimensioni per determinare la somma totale dello spazio di dimensione del file leggibile contenuto in ogni cartella per la finestra del Finder in questione.

Ho testato la visualizzazione a elenco delle dimensioni delle cartelle su diversi Mac in cui non importa se un SSD è presente o meno, ma Lion è così veloce nel calcolare le dimensioni. Sono curioso di sapere se c'è qualche nuova struttura di memorizzazione nella cache o se Finder sta utilizzando le informazioni sui metadati da Spotlight o un database simile per accelerare enormemente questo calcolo.

    
posta bmike 26.03.2012 - 05:13
fonte

4 risposte

3

Non ho osservato che Lion è più veloce nel calcolare le dimensioni della cartella (e del pacchetto / pacchetto) durante la prima volta che calcola le dimensioni in una cartella. Tuttavia, i successivi calcoli nella stessa cartella sembrano essere molto più veloci.

Una parte della velocità percepita può essere che il Finder mostrerà immediatamente le dimensioni calcolate in precedenza in testo grigio mentre ricalcola le dimensioni delle cartelle, piuttosto che mostrare "-" fino a quando non viene calcolato. Dopo che le dimensioni di una cartella sono state ricalcolate, il numero verrà aggiornato (se la dimensione è cambiata) e diventerà nero.

Poiché il Finder memorizza in modo visibile nella cache le dimensioni delle cartelle calcolate in precedenza, è possibile che ricalcoli le dimensioni solo per le cartelle che sono state modificate dall'ultima volta che è stato calcolato.

    
risposta data 28.03.2012 - 07:50
fonte
7

Prima di Lion, la colonna Dimensione file in Finder.app mostrava le dimensioni richieste da ciascun file sul disco rigido, non le dimensioni esatte del file. Ad esempio, i file da 1 byte sono stati visualizzati come 4 KB perché occupano in realtà 4 KB di spazio su un sistema formattato HFS. Non c'era un modo semplice per vedere la dimensione effettiva del file di 1 byte, oltre all'apertura di File> Ottieni informazioni (o utilizzando un'app diversa, come Terminal.app e quindi usando ls -lsa , o una sostituzione di Finder.app come TotalFinder.app ).

(Back in the day, ho segnalato questo come bug 8926275 su bugreport.apple.com .)

A partire da Lion, questo comportamento è stato corretto e la colonna Dimensione file mostrerà ora la dimensione esatta del file per ogni file piuttosto che la dimensione che assegna al disco fisso (che dipende comunque dal file system).

Poiché queste dimensioni sono gli stessi numeri che otterresti da ls binary in Terminal, sono molto più efficienti da calcolare.

    
risposta data 28.03.2012 - 07:47
fonte
1

A partire da OS X Lion, Apple ha aggiunto un database SQLite che il sistema operativo utilizza per il tracciamento dei file nelle funzionalità di sistema come Spotlight. Interrogare da un database SQLite piuttosto che ispezionare il file system ogni volta è più che probabile la causa del miglioramento delle prestazioni. La recensione di OS X Lion di John Siracusa spiega in modo approfondito le modifiche al file system in Lion. In particolare, qui troverai una spiegazione sul nuovo database SQLite .

Spero che questo aiuti.

    
risposta data 26.06.2012 - 23:01
fonte
1

Non sarei sorpreso se stessero usando metadati Spotlight per memorizzare le dimensioni dei file. Se stai già utilizzando FSEvents per monitorare tutte le modifiche nel file system e (potenzialmente) Time Machine per eseguire il backup di tutte quelle modifiche, il costo aggiuntivo del calcolo e della memorizzazione delle dimensioni di file aggregati è trascurabile.

    
risposta data 28.03.2012 - 07:42
fonte

Leggi altre domande sui tag