So today I just learned that due to how the JVM work, if you go to 32gb or higher heap space, then the way object pointer work changes to pure 64-bit pointers which need more memory.
This means if you go from say 30gb to 32gb heap you now have LESS available memory. And in fact if you go to 32GB you need to go up to 48GB heap to offset this pointer cost. So any setting between 32 and 48 GB of heap space is basically useless.
This also lead me to this comment about using off-heap memory I wonder if this is planned or even possible to store the result tables in memory mapped files off-heap which would also reduce stress and issues with GC?