PERF: faster numeric indexes comparisons when self is identical to other 
Further performance improvement over #37130, this time improving all numeric indexes. The improvement is larger for `Int64Index`, because that doesn't need to check for `na` values.

Examples:

```python
>>> n = 100_000
>>> idx1 = pd.Int64Index(range(n))
>>> idx2 = idx1.view()
>>> %timeit idx1 == idx2
145 µs ± 2.43 µs per loop  # master
11.4 µs ± 290 ns per loop  # this PR
>>> idx3 = pd.Float64Index(range(n))
>>> idx4 = idx3.view()
>>> %timeit idx3 == idx4
104 µs ± 2.12 µs per loop  # master
49.8 µs ± 886 ns per loop  # this PR
```

thanks @topper-123 