

Then I calculated the seek distance (just subtract the previous offset). I copied the file offset of each file read, in time-order, to Excel. The file I/O graph shows every read/write from every process, and it’s interesting to analyze the reads from Pictures.pd6. The disk I/O graph shows only I/O that went to the disk – it filters out I/O that as handled by the system cache. Because they are read randomly it takes an excruciatingly long time, and there will be more delays later on because some of the data has still not been read! If the files were read sequentially then it would just take a few seconds. That’s 5,013 separate reads to just pictures.pd6! The poor disk head is bouncing all over the disk and is spending very little time reading data. In fact, all of the reads for all three files are 4 KB reads, and they are not sequential.

The reason is hinted at by the expanded details for FaceThumbs.fd1 which show lots of 4 KB reads. And yet, it only read about 23 MB from these three files, which should not take 36 s. Tracing with ETW makes the cause of the hangs quite obvious, as this disk I/O summary table shows:ĭuring this particular process startup WLPG spend 28.8 s reading from pictures.pd6, 6.7 s reading from FaceExemplars.ed1, and. When you first launch WLPG it is not unusual for it to take a minute or so to become responsive, and after that it may still hang when you start browsing. Some queries require doing thousands of reads from the database file (not enough indexes perhaps?) and these random 4-KB reads work poorly, especially on a slow laptop drive. One problem WLPG has is that it uses a SQL Server Compact database to store a copy of all of the metadata, and it accesses this database inefficiently. It likes to read and write to the disk, and it often does it very poorly.

However, WLPG has a frustrating number of performance problems. I love the fact that I can effortlessly find all 5-star photos of my daughters unicycling together with just a few clicks. I really like Windows Live Photo Gallery (WLPG) and I depend on its photo-tagging (5-stars, people, and descriptive tags) to organize my photos.
