Hmm... I may have spoke a bit out of turn. Reiser is good for small files, but very small files (by today's standards). Actually now that I read it, mp3 libraries are not necessarily going to perform best on ReiserFS. I'll have to look into that more. But, regarding 10-40kB...
"Here's an example of how ext2 can tend to encourage this kind of programming. ext2 is good at storing lots of twenty-plus k files
, but isn't an ideal technology for storing 2,000 50-byte files. Not only does performance drop significantly when ext2 has to deal with extremely small files, but storage efficiency drops as well, since ext2 allocates space in either one or four k chunks (configurable when the filesystem is created).
Well, that's the theory. But how good is ReiserFS' small file performance in practice? Amazingly good. In fact, ReiserFS is around eight to fifteen times faster than ext2 when handling files smaller than one k in size
! Even better, these performance improvements don't come at the expense of performance for other file types. In general, ReiserFS outperforms ext2 in nearly every area, but really shines when it comes to handling small files."
*Shrug*. Guess I was wrong. Learn something every day. Guess Reiser would be great if you have a server with a lot of small plain text files that you need to do a lot of parsing from, but other than that...
So, from that reading, I'd guess ext3 is best. Look around for more benchmarks. This may help, too - not sure, I sort of skimmed:
I will say that I've used ext3 and reiser and I don't notice much difference in speed ("normal" general purpose desktop and laptop use). But of course I can't provide any hard benchmarks - that's my subjective guesstimate. Other than that, they say ReiserFS is great with RAID setups, and XFS is totally blazing for large files (>700MB, such as ISOs and bigger).
Bottom line: ext3 is a solid general purpose file system that's great for a lot of applications. There are a few special-purpose applications for which other file systems may be better.
EDIT: oh, one more thing. Those quotes above mention ext2, so think of ext3 instead (basically ext2 with journaling)