Scan process speed
The time needed to scan your disk space depends on two factors: the number of files and the speed of your hard drive. The file sizes do only matter for duplicate detection since hash codes have to be computed.
On modern SSD the scan process is fairly quick. On the classic hard drives, however, it can still take several minutes to complete. In order to limit the number of files to be scanned, you can exclude unnecessary folders from the process using Preferences or a contextual menu action “Exclude selected folder from future scans” directly from the graphic selection.
Example: I have all my photos managed by software that generates small preview images in a special folder. This makes dozens of thousands small files considerably slowing down the scan process. Since I have no particular interest in these files I can simply exclude that preview folder.
Avoid Small Files
The “Ignore files which size is less than XXX bytes” preference setting allows you to ignore small files. This will not make the scan faster since to know that a file is small it needs to be analyzed first. However avoiding small files will help to reduce the memory used by the app and allow it to run faster once the scan is complete. Of course this will distort the statistics (number of files) and the total occupied space estimation will be lower than in reality. In most cases it will not be important since Purple Tree was designed to find big fishes! Yet, keep in mind this limitation and change this setting if needed.
Packages in macOS
Packages are special folders which internal structure is not intended to be viewed or modified directly by user. Apps, Libraries (like Photo or iMovie library) and system bundles are packages. By default Finder presents packages as files, yet it can unveil their contents if requested. Also, Purple Tree default behavior is to display packages as single files. However it’s sometimes necessary to see what’s inside packages and this can be done simply by turning off the “Hide package contents” preference.
Note that package internal files are not included in the duplicate search when package contents are hidden. In order to see duplicated files inside packages you have to turn off the preference mentioned above and to rescan folders again.
Example: if you copy your videos into the Movies folder and then import these videos in iMovie, your files will actually be copied in the iMovie.library package. Purple Tree will not consider them as duplicates if package contents are hidden.
Hard and Symbolic Links
In Purple Tree symbolic and hard links are treated as plain files. Usually symbolic links are too small to be taken into account (see file size limitation above). On the other hand, several hard links on a large file may lead to inaccurate total size estimation. However, such files will not be considered as duplicates since they are not wasting any extra disk space.
Like hard links, APFS clones are sharing the same physical storage or, at least, most of their contents are not duplicated. Since version 3.4.1, Purple Tree detects clones and doesn’t count them as duplicates.
Like all common apps, Purple Tree does not have access to system protected folders that require root privileges. So if such folders, like “.DocumentRevisions-V100”, take large amounts of disk space, the app will not be able to see it! This is a common limitation for apps coming from the AppStore: the apps can neither request admin password nor be launched using ‘sudo’ command. Sorry about that, but Apple do so for obvious security reasons.