Looking over the calibre code that is doing book-on-device matching (I confess to having written that code a few years ago), I found a way to dramatically improve performance by changing how the wireless device driver and calibre cooperate. These changes should be in calibre 0.9.2.
My test: 1001 books on my Galaxy Nexus. The machine running calibre: Windows 7, Intel P5 2.8GHz, 4GB RAM, 7200RPM disk.
- Before the change, calibre took 31 seconds match the 1001 books and determine that it didn't need to send the metadata back.
- After the change, calibre took around 1.5 seconds to do the same thing.
Because the process is CPU bound, my guess is the improvement you will see once the changes are released will be proportional to what I got. In other words, instead of your computer taking 4 minutes to examine the books, it should take around 12 seconds. My guess will be wrong if your computer running calibre doesn't have enough memory to avoid swapping the metadata for your library to and from the disk (virtual memory).