Java's main limitation is probably in access to lower level I/O APIs, as well as vectorization support that is somewhat lackluster. There's almost definitely performance left on the table.
It's relying quite heavily on memory mapped I/O and doing some clever things to work around language limitations in how much you can memory map at a time. This permits surprisingly good but not optimal performance.
A bigger drawback is that this type of low level programming in Java is a serious pain in the ass.
It's relying quite heavily on memory mapped I/O and doing some clever things to work around language limitations in how much you can memory map at a time. This permits surprisingly good but not optimal performance.
A bigger drawback is that this type of low level programming in Java is a serious pain in the ass.