pointer heap optimizations

Heap time = ~2x tree time