In Goetz\'s \"Java Concurrency in Practice\", in a footnote on page 101, he writes \"For computational problems like this that do not I/O and access no shared data, Ncpu or
See also Will using multiple threads with a RandomAccessFile help performance?
UPDATE: I added a benchmark there.