It takes time to check all of the photos in a directory and rotate the ones that need to be rotated.
Start with 100 to 200 photos in one directory. Copy one additional photo to the directory and process that directory again. Doing this is slow.
Here are some suggestions to speed up processing. Possible ways to make running Autorotate faster:
1) Create a file that keeps records of which files are already processed. Only process new files. (Provide a button to process only new files and a different button to process all files.)
2) Use the date/time information and only process the files that have been added since the last time Autorotate was run. Create a file each time Autorotate runs, the time this file was created is the time Autorotate was run. (same two buttons)
3) Perhaps the same amount of processing is done even if the photo is in the correct orientation. Then the program could run faster with a simple check.