I would guess at least some of the bottlenecks are in hardware, the operating system or in native code (including the JVM) in this case.