Nunca he utilizado DaisyDisk, pero a juzgar por el vídeo de demostración de su página web, parece que utilizan algunos trucos para hacerlo rápido.
En primer lugar, ¿está usted seguro de que du
¿es más lento? Pruebe a ejecutar du / >/dev/null
y ver si es más rápido que DaisyDisk tenga en cuenta que el sistema de archivos puede haber sido almacenado en caché después de lo que fue primero para propósitos de tiempo, por lo que la segunda ejecución tendrá esa ventaja.
du
es bastante rápido, ya que sólo mira las entradas del directorio e informa de la ruta y el tamaño de los archivos. La única forma de saber de qué archivo se trata sería hacer una conjetura por la extensión del archivo o mirar el archivo para determinar su tipo (por ejemplo, los bytes "mágicos" de UNIX). La ruta de la extensión del archivo es rápida, examinar el archivo es obviamente mucho más lento ya que tienes que sacar el archivo.
Con la du
de salida, podría determinar rápidamente la vista de los directorios de nivel superior; puede filtrar eso en el código y hacer una representación como lo hace DaisyDisk y sólo mostrar rebanadas de pastel de tamaño. Si se profundiza en los directorios (por ejemplo, /Users), entonces se repite el proceso pero centrándose sólo en ese nivel. Dado que DaisyDisk sólo muestra los 10 o 20 principales acaparadores de espacio, no necesita entrar en detalles para averiguar cuáles son los archivos más pequeños (fíjese que los agrupa convenientemente en "Archivos pequeños de 750 MB" o alguna etiqueta). En este punto, todavía no necesita profundizar tanto en los archivos reales y tal vez si no adivina por la extensión sólo tiene que determinar la "magia" de unos pocos archivos grandes que va muy rápido.
Así que lo que probablemente estamos viendo es que determinó rápidamente el nombre, la ruta y el tamaño de cada archivo en la unidad (como du
puede demostrarlo), pero mostrando hábilmente sólo a los principales infractores para ayudarle a llegar a lo que le interesa, ya que la mayoría de la gente no utilizará una herramienta como ésta para obtener los pequeños archivos insignificantes; irá al Finder para examinar los archivos si es que te molestas en ese nivel . Realmente no parece haber nada especial aquí, excepto que sólo necesita examinar el tipo de archivo o el contenido cuando el usuario lo pide específicamente y el programa evita hacer ese pesado trabajo la mayor parte del tiempo.
¿Qué es lo que hace que DaisyDisk sea especial en comparación con (por ejemplo) la aplicación gratuita "Grand Perspective" para OSX? Por un lado, una interfaz elegante (me gusta la función de examinar el archivo y arrastrarlo para recogerlo/eliminarlo), pero también creo que GP examina los archivos mientras los escanea, ya que muestra todo en su vista gráfica y colorea por tipo de archivo. Usted podría hacer el mecanismo de color por tipo con un du
también, pero sólo estás adivinando basándote en la extensión del archivo y/o en dónde lo has encontrado.
En definitiva, se trata de una aplicación hábil con una interfaz inteligente. ¿Por qué es rápida? Porque parece que han tomado atajos para evitar el trabajo pesado hasta que sea absolutamente necesario. Para mí, estoy bien con la Gran Perspectiva :-)