I did some more benchmarking, and the performance improvement from this is minimal at best (probably likely to the fact it makes us hold the queueLock longer, and in addition we have more conditionals to check)