improve size method to return a consistent result when reading two volatiles