¿Qué ha cambiado la vista de la Lista del Finder en Lion para que "Calcular todos los tamaños" sea exponencialmente más rápido?

10

Desde mucho antes de que Mac OS X apareciera en escena, hemos podido pedir al Buscador que Calcule todos los tamaños para determinar la suma total del espacio de tamaño de archivo legible contenido en cada carpeta para la ventana del Finder en cuestión.

He probado el tamaño de la vista de la lista de carpetas en varios Macs donde no importa si hay un SSD o no, pero Lion es tan rápido en el cálculo de tamaños. Tengo curiosidad por saber si hay alguna nueva estructura de datos de almacenamiento en caché o si Finder está utilizando la información de metadatos de Spotlight o de una base de datos similar para acelerar enormemente este cálculo.

    
pregunta bmike 26.03.2012 - 05:13

4 respuestas

3

No he observado que Lion sea más rápido en el cálculo de tamaños de carpeta (y paquete / paquete) la primera vez que calcula los tamaños en una carpeta. Sin embargo, los cálculos posteriores en la misma carpeta parecen ser mucho más rápidos.

Parte de la rapidez percibida puede ser que el Finder mostrará inmediatamente los tamaños calculados previamente en texto gris mientras recalcula los tamaños de las carpetas, en lugar de mostrar "-" hasta que se calcule. Después de que se recalcule el tamaño de una carpeta, el número se actualizará (si el tamaño ha cambiado) y se volverá negro.

Debido a que el Finder visiblemente almacena en caché los tamaños de carpetas calculados anteriormente, es posible que solo esté recalculando los tamaños de las carpetas que han cambiado desde la última vez que se calculó.

    
respondido por el joelseph 28.03.2012 - 07:50
7

Antes de Lion, la columna Tamaño del archivo en Finder.app mostraría el tamaño que cada archivo requiere en el disco duro, no el tamaño exacto del archivo. Por ejemplo, los archivos de 1 byte se mostraron como 4 KB porque de hecho ocupan 4 KB de espacio en un sistema con formato HFS. No había una manera fácil de ver el tamaño real del archivo de 1 byte, aparte de abrir Archivo ›Obtener información (o usar una aplicación diferente, como Terminal.app y luego usar ls -lsa , o un reemplazo de Finder.app como TotalFinder.app ).

(Anteriormente, informé de esto como el error 8926275 en bugreport.apple.com .)

A partir de Lion, este comportamiento se ha corregido, y la columna Tamaño del archivo ahora mostrará el tamaño exacto del archivo para cada archivo en lugar del tamaño que asigna en el disco duro (que, de todos modos, depende del sistema de archivos).

Dado que estos tamaños son los mismos números que obtendrías del ls binary en Terminal, son mucho más eficientes de calcular.

    
respondido por el Mathias Bynens 28.03.2012 - 07:47
1

No me sorprendería si estuvieran usando metadatos de Spotlight para almacenar en caché los tamaños de los archivos. Si ya está utilizando FSEvents para rastrear todos los cambios en el sistema de archivos y (potencialmente) Time Machine para respaldar todos esos cambios, el costo adicional de calcular y almacenar los tamaños agregados de archivos es insignificante.

    
respondido por el CajunLuke 28.03.2012 - 07:42
1

A partir de OS X Lion, Apple ha agregado una base de datos SQLite que el sistema operativo utiliza para el seguimiento de archivos en funciones del sistema como Spotlight. La consulta desde una base de datos SQLite en lugar de inspeccionar el sistema de archivos cada vez es más que la causa de la mejora del rendimiento. La revisión OS X Lion de John Siracusa explica en profundidad los cambios en el sistema de archivos en león. En particular, aquí encontrará una explicación sobre la nueva base de datos SQLite .

Espero que esto ayude.

    
respondido por el Christian Correa 26.06.2012 - 23:01

Lea otras preguntas en las etiquetas