I've tried a couple different mp3 taggers to tag my mp3 library, however, most seem to have trouble with large mp3 libraries. So, after doing some reading about AcoustID and MusicBrainz I decided to quickly code up my own tagger, MusicBrainzTagger.
MusicBrainzTagger is a command-line application which recurses a directory of mp3 files and tags each one, one by one. This approach allows it to handle very large libraries; it only processes one file at a time. File processing consists of reading any ID3 tags in the input mp3, and then calculating the Acoustic ID fingerprint. The fingerprint is then resolved to a MusicBrainz ID which is used to look up the recording.
MusicBrainzTagger then tags the file, renames it, and moves it to a new directory.