FF-hashdrop: basic operation

add files for calculation

Files and folders can be added via drag and drop from a finder window. If you add a folder, the folder will be read and all files within will be added to the calculation queue.

If the folder contains a another folder, this folder will be read too (deep recursion) until the whole tree is read.

aborting calculation

If you want to stop the current calculation, use the button "clear results".

This will discard all calculations and clear the window. Because of the multithreaded nature it may take a few seconds until all threads are terminated, during this time the "clear results" button is disabled to show you, that the app is currently removing all threads and pressing the button again would have no additional effect.

If you press this button when no calculation is running, it just clears the window (discarding all results).

selecting algorithm

You can only select the algorithm if the status window is empty (e.g. right after clear results or at program start). If you have generated results, the selecting buttons will be disabled (you can not use them).

You may copy the results to the clipboard if you different need checksums calculated with different algorithms (just copy + paste the results).

copy results to clipboard

You can mark entries and copy them into the clipboard. This is convenient if you need a human readable representation of you results (e.g. to send them via mail or to paste them into some doc file). You can freely choose which lines are marked if you mark them if CMD + click.

notes on threading

This application has 2 major parts:

  1. file scanning
  2. check sum calculation

As soon as a file is found it will be added to the queue (which results in a new thread generated until 512 threads are running). if you drop a folder onto this application, a single thread is reading that folder and spawns a new thread for each file found while continue reading any subdirectories found (the new threads are doing the calculations for the hash).

So this single thread starts multiple calculation threads - so while calculation is done massively parallel while the reading of the directories is done with a single thread (this shifts the focus to CPU)

If you want to use more than one thread scanning the file system, you can drop more then one folder onto this app with a single drag operation. For each folder, a new thread will be created initially. (for example it is a big difference in dropping the root folder of a volume OR all first level folders below it, that later case will bombard your mac with threads for checksum calculation while reading on the drive - you should bring some time...).

If you are reading slow drives (e.g. a CDROM) please do not read them in parallel because this will slow you down (as the concurrent threads are stealing constantly the "reading head" and result in a reposition on a device which takes some time, just to read a small part and then to be relocated again and so forth).