As written if you make a new_size(10) the mruset will be reduced to up to 9 elements (the while will exit when !(queue.size() >= 10) so (queue.size() < 10).
This "feature" of reducing the mruset length isn't used, so the impact on the program should be zero.