I found an open source profiler which is under the GNU GPL and is officially supported by OpenJDK, called VisualVM. With this I can determine where some slow code areas are.
Appears that the huffman tree code is slow in
I need a way to have a faster lookup of huffman values.
I will need a way to have much faster huffman table lookup. Likely remove the traverser and instead have a way to get a direct bit lookup somehow. I do wonder though if there would be a way to make it so the table despite being like a binary tree can do better.