TIL How ASIC boost works.
You have X amount of data to hash from a block. Because SHA256 takes chunks (64byte) at a time, you can feed it all the 'constant' chunks first then 'save' the 'midstate' before introducing the chunks that need to change.
This saves ~20%. Idk why it's that % but I intend to find out.