-
Well, I am wondering if exiv2 reads the whole file in case I issue the command I am not talking about decoding the image, I am just wondering if exiv2 is clever enough to seek to the EXIF dictionary and read only that, instead of the whole file. All insights will be appreciated! Best regards, Gabriel |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 7 replies
-
Yes. Exiv2 uses an i/o object (which seeks appropriately), or memory mapping to minimize I/O. This is discussed in detail in my book: "Image Metadata and Exiv2 Architecture". https://exiv2.org/book/index.html |
Beta Was this translation helpful? Give feedback.
-
I've had another two thoughts about this overnight.
I've only rebuilt the SQLite database once and it took about 8 hours for the python scripts to execute exiv2 about 80,000 times and update the various tables in the database. However, we're now discussing application design and not exiv2. Returning to your question "does Exiv2 read the whole file?", the answer is "No. It's optimized to minimize I/O". |
Beta Was this translation helpful? Give feedback.
-
I've had another two thoughts about this overnight.
Thanks a lot for your thoughts!
• Multithreading
I expect MT will buy little on your external drive.
I suspect so, too, and this is the important case, since the SSD is fast enough.
• Copy the metadata to a database
That is what I am doing.
But customers have "complained" that scanning of 100k images takes about 10-20 minutes when doing that first scan to gather the database.
After that, everything is smooth, of course.
of the metadata. If I look for the 100 photos on my wedding anniversary (3/27) on the Easter Trip (we went to Iona in Scotland)
great tour!
When I was 19 I took a trip with my brother to Scotland, too; we never reached Iona, but went to Mull, Oban, Inverarray, etc. Very memorable trip!
Best regards, Gabriel
|
Beta Was this translation helpful? Give feedback.
-
@GabZach People will complain about almost anything. If they can piss and moan, they do.
;-)
Anyway, on a happier note, I'm now retired from Exiv2 and looking forward to our Golden Wedding next April.
Congratulations! Quite an achievement, if you will.
(Not many people, including myself, reach that.)
Life is good. Don't let the moaners get you down.—
Very good advice.
Happy festivities.
Best, G.
|
Beta Was this translation helpful? Give feedback.
Yes. Exiv2 uses an i/o object (which seeks appropriately), or memory mapping to minimize I/O. This is discussed in detail in my book: "Image Metadata and Exiv2 Architecture". https://exiv2.org/book/index.html