2007-02-09

When will iTunes grow up?

As I've written about previously, I'm ripping my entire CD collection to mp3. Currently I've got about 33,000 tracks in mp3 format. At home, I don't use any library or database software; I just use TiVo to browse and playback. (TiVo's browsing interface isn't great for large collections either, but that's a topic for another day.)

Ripping all these CDs has been a lot of work, so obviously I'm keeping a backup. Right now, everything fits onto my external drive (a 320GB Iomega) that I fill up using Robocopy (an excellent Microsoft replacement for xcopy.) This has the side benefit of being able to bring my entire mp3 collection into work and share it with my coworkers using iTunes.

However, I'm quickly coming to the conclusion that iTunes simply doesn't scale to tens of thousands of tracks. Some of the issues I'm running into:
  • Startup time is very slow. Is it really necessary to load the entire database at startup? My "iTunes Library.itl" file is 37MB, and my "iTunes Music Library.xml" file is 43MB. Uses gobs of memory too - over 100 MB and I'm not even playing anything. Seems like iTunes could just load metadata for the first few hundred tracks in the library, and defer loading the rest until needed - or at least do it in a low-priority background thread.
  • Shutdown time is similarly slow. Even if I shut it down right after starting up, it still needs to "save" something. Why can't it flush database writes during idle time, rather than saving them all until shutdown?
  • About half the time, iTunes crashes when I shut it down. 'Nuff said.
  • Getting album art takes forever - five or six hours with my collection. If the process is interrupted (i.e. iTunes crashes or I go home for the night) then it starts at the top the next day. It seems to go faster on tracks that it's already got art for, but not that much faster, and I have a significant number of albums for which Apple doesn't have cover art, so those don't go any faster the second time around. At least you can cancel album art retrieval permanently.
  • Calculating gapless playback information takes forever squared, especially since iTunes like to do it at the same time as it's getting album art. (Both processes seem to go faster if I force them to run sequentially rather than in parallel.) I really wish you could cancel this process permanently, as gapless music makes up only a fraction of my collection.
  • iTunes has no built-in way to clean up orphaned tracks. If I archive something off to DVD-R, I end up with a bunch of exclamation marks in iTunes. I've tried using iTunes Library Updater but it's amazingly slow. One simple way for iTunes to handle this would be to make the exclamation mark column sortable, so that I could delete all the orphaned tracks at once.
  • "Add Folder to Library" seems to crap out without adding the entire folder. For me, it failed around 14,000 tracks. It refused to add any more than 14,000 tracks no matter how many times I tried the feature, and what's weird is that it didn't stop after the first (alphabetically) 14,000 - it loaded a scattering of tracks from A to Z. Perhaps it was the first 14,000 sorted by time or something, but I found a workaround - drag-and-dropping the folder onto iTunes loaded everything.
Are there workarounds for any of these issues? Does iTunes scale any better on a Mac? Sharing is a "killer feature", so I'm stuck with iTunes for the time being.

3 comments:

ScottMcW said...

iTunes is junk. The interface is horrid, the only thing it does well is the album cover display. But as you've noticed, it doesn't scale well at all. I used to use MusicMatch which was awesome, but then they got bought by Yahoo and wrecked. I'm still looking for a decent replacement. I was trying WinAmp, but the jury's still out.

Brian Eck said...

iTunes has gotten better since I posted this back in 2007, but you're right - it still struggles with large libraries. If you find something that works well with tens of thousands of songs, please let me know!

Annette said...

Have you guys tried MediaMonkey?