improve performance by unrolling number parsing