How can I change the List view?

Started by Beholder3, February 16, 2011, 12:54:56 PM

Previous topic - Next topic

MOL

To be accurate, we would have to compare the same images, of course. But I don't think that it would help Bogdan much to find the bottlenecks in his procedures. I only mentioned my numbers to indicate that using ExifTool directly might not be much slower (except for the first file).

Give me a day or two and I prepare a test program which uses GetTickCount (let's keep it simple) to measure the load time. I'll upload it here, if that's okay with you, Phil.

Uwe

Phil Harvey

Please feel free to post anything exiftool-related that you want here.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

BogdanH

Hi Uwe,
Quote from: MOL on February 19, 2011, 02:06:15 PM
I did some more testing and it seems that I'm faster than you, even if I use ExifTool directly:

Your numbers:
1 file - 50 tags - 7.2 msec
-yes, that's correct: from hundreds of tags inside file, I'm parsing only about 50 of them. However, I'm reading much more than 50 tags -to find those that I want.
Quote
Mine, using ExifTool:
1 file (12.8 MB ORF file) - 387 tags - 53 msec (div 7.74 = 6.847 msec)
-I see: you divided result because number of tags (387 vs 50)... I'm not sure if such result is representative.

Bogdan

BogdanH

Quote from: Phil Harvey on February 19, 2011, 03:13:41 PM
If you want to compare times, I suggest using a standard set of test files -- perhaps something like the Canon samples from the ExifTool Meta Information Repository.

Thank you for link -I didn't know about those collections. Very handy, because filesize factor is practically eliminated. System is capable to keep all those files in cache (I think), so there's almost no i/o performance penality and "measuring" is more concentrated on parsing speed.
Now I'm even more convinced about i/o performance being the major bottleneck.

Bogdan

MOL

Quote from: BogdanH on February 20, 2011, 04:07:55 AM
-yes, that's correct: from hundreds of tags inside file, I'm parsing only about 50 of them. However, I'm reading much more than 50 tags -to find those that I want.

But only for the 'Quick' option, right?

Is there a chance that you can build an experimental version of your application that also displays the elapsed time for loading the meta tags?

BogdanH

Yes, I use my procedure only for Quick view and for showing tag values in Filelist pane (when Details<>Standard). In both cases the same procedure is used which does the same thing, the same way: reads about 50 tags -even only few of them are shown in Filelist pane, though.
After doing some tests today (using real image files, using files that Phil suggested, reading them from average non-indexed HDD, reading then from fast SSD,...), I came to conlusion: even if my procedure would do in almost zero time, in reality, it would take about 6ms/file on average HDD -not worth to bother any further.

About making "experimental" GUI version (for timig). No, I don't plan to make such version public.. because of two reasons:
1. Only I know what my procedure does. Thus, when one would see (say) 3800ms for (say) 400 files, he simply can't know if all files have realy been parsed.. or maybe, I'm cheating to impress?  ;)
2. I don't wish to compete against anyone... I'm not that good in programming.

That doesn't mean I'm not ready to share my limited knowledge. It's just, that this forum is mostly about metadata and less (if at all) about programming...

Greetings,
Bogdan

MOL

#21
Hi Bogdan

It seems you completely misunderstood me. I'm sorry if it came across that way, but it was never my intention to compete against you. I only wanted to help you because I couldn't quite understand where your claim that GeoSetter is faster than ExifToolGUI came from. So don't worry about providing a test version if you feel uncomfortable with it. Nevertheless, I've almost finished the application and will upload it here either tomorrow or the day after. Hope you don't mind, really. It's just a test to see what is possible speed-wise with ExifTool

Cheers
Uwe


EDIT:
Just thought about it. If you want I could also send it to you via e-mail, and you play with it at home. Let me know what you prefer.

BogdanH

Hi,

I only have few minutes this time.. No, it seems I wasn't clear (in my English). It's not you I had in mind -it was ment in general: I just don't wish to make a race track here. It's opposite: as mate (Delphi user), I'm glad you're here.
Of course I'll be happy, if you post your app in this forum or elsewhere... I'm allready curiosus :)
Must go now...

Greetings,
Bogdan

MOL

Okay, here we go. The current test program uses QueryPerformanceCounter to measure the execution time. Depending on how many processes are running in the background, the measured time might differ. Caching mechanisms within windows also influence the time. You will see that the 'Quick' option executes very fast. On JPG usually around 2 milliseconds, on other file formats mostly around 4 msec.. ExifTool execution times are longer, of course, and are usually around 1/2 sec. per file for several hundred meta tags. I didn't have the time to read up on how to implement the stay_open option yet. Can you give me a hint - especially what you pass to the command line once the args file has been created? I will update the file then.

The program can display a range of general, EXIF and IPTC data in 'Quick' mode. Just play with some files. In 'Standard' mode it retrieves all meta tags by default. If you want to change that, right-click on the treeview on the right and select an option from the popup menu.

To install, just copy test.exe and exiftool.exe into the same directory (not under Program Files !) and run.

Hope you like it. Let me know if you have questions and please post how my application compares to yours. I'm always interested in how to optimize the procedures (much of it is actually ripped from a large commercial application) further.

Uwe


I couldn't upload to the forum directly, because the file is too big. I've sent you a message with the download link instead.

BogdanH

Hi Uwe,

Just downladed it -thanks! It's late now (22:10PM as I'm writting), so I'll try it tomorrow.

However, as this is getting off-topic, I suggest next time you open new thread (maybe in another forum section.. Phil?). I think that's OK as long we are discussing metadata related to Exiftool.

Bogdan

Phil Harvey

Quote from: BogdanH on February 21, 2011, 04:21:12 PM
I suggest next time you open new thread (maybe in another forum section.. Phil?).

I don't have separate forums for exiftool developers and users, so as a separate topic I suppose this would have fit best in the exiftool application forum.  But in this case the discussion arose naturally from questions about ExifToolGUI, so I don't see anything wrong with the way it progressed here.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).