Java IO Performance
I thought I’d share a good article I just read on IO performance in a Java environment. It compares buffered versus non-buffered streams, both of which are synchronized for thread-safety, versus file channels which are unsynchronized. Going one step further, it also benchmarks the effect that buffer sizes (or “chunked” reads) have in each of those scenarios, as well as the consequence of memory-mapping those buffers.
The comparison to some of the predominant ways to read files in C towards the end adds some nice perspective.
http://nadeausoftware.com/articles/2008/02/java_tip_how_read_files_quickly