-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cache exiftool data in ExportDB to speed export with exiftool: template #325
Comments
This is expected because exiftool must be used to read every single image file to gather the EXIF data for the template |
A small subset of the original image's exif data is imported by Photos into the database at import time. I added the following new templates which will read from the database, not from the file's actual exif. This should restore run time for this subset of exif data: In release v0.39.5
|
Since original images do not change in the Photos library, it would be possible to cache the exiftool dictionary in the export db so that subsequent export sessions with --update do not have to re-run exiftool. exiftool would only need to read metadata for new images since the last update. pseudo code: add new 'exiftool' table to ExportDB (there's currently exifdata but that only stores the data used by --exiftool) If user did something to update exifdata in place (e.g. modified the original files in the Photos library), they would need to delete the export db and re-run --update to re-build the cache |
@narensankar0529 In version v0.42.13 I've added caching for the exiftool data used in the {exiftool} template. This should speed things up considerably if you're using more than one exiftool field in your template strings. Of course, this will always be slower than not using {exiftool} since osxphotos will always have to call exiftool once per file to read the initial exif data. With this new change, the data will at least be cached so if you use more than one exiftool template, osxphotos won't have to call exiftool again. |
Not sure if this is expected, but if you use exif data as a filename template, then export slows down dramatically. Without using exif data, export of around 60,000 items takes around 15 minutes. With exif (for example using the camera make) in the filename, export takes almost 1.5 hours to the same USB-C SSD. In both cases the Photos database and the output are on the same APFS disk
The text was updated successfully, but these errors were encountered: