[PERF] Get rid of MultiIndex conversion in IntervalIndex.is_monotonic methods
State: closed

- xref #24813
-  passes `git diff upstream/master -u -- "*.py" | flake8 --diff`


```
All benchmarks:

       before           after         ratio
     [85572de5]       [445fbe56]
     <master>         <GH24813-inc-dec>
-         261±6ns          134±3ns     0.51  index_object.IntervalIndexMethod.time_monotonic_inc

```

Labels:
name: Performance
description: Memory or execution speed performance
name: Interval
description: Interval data type

Comments:
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=h1) Report
> Merging [#25820](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/f39a9ce580d25c8273cff717d13a7bc8601aa339?src=pr&el=desc) will **decrease** coverage by `<.01%`.
> The diff coverage is `75%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/25820/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #25820      +/-   ##
==========================================
- Coverage   91.27%   91.26%   -0.01%     
==========================================
  Files         173      173              
  Lines       53002    53007       +5     
==========================================
+ Hits        48375    48379       +4     
- Misses       4627     4628       +1
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `89.83% <75%> (-0.01%)` | :arrow_down: |
| #single | `41.76% <0%> (-0.01%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/indexes/interval.py](https://codecov.io/gh/pandas-dev/pandas/pull/25820/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9pbnRlcnZhbC5weQ==) | `94.94% <75%> (-0.31%)` | :arrow_down: |
| [pandas/util/testing.py](https://codecov.io/gh/pandas-dev/pandas/pull/25820/diff?src=pr&el=tree#diff-cGFuZGFzL3V0aWwvdGVzdGluZy5weQ==) | `89.4% <0%> (+0.1%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=footer). Last update [f39a9ce...445fbe5](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=h1) Report
> Merging [#25820](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/3ab84a0c7389642a4f27de4f00d6518cb77c3470?src=pr&el=desc) will **decrease** coverage by `<.01%`.
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/25820/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #25820      +/-   ##
==========================================
- Coverage   91.98%   91.97%   -0.01%     
==========================================
  Files         175      175              
  Lines       52377    52377              
==========================================
- Hits        48180    48176       -4     
- Misses       4197     4201       +4
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.53% <100%> (ø)` | :arrow_up: |
| #single | `40.71% <0%> (-0.15%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/indexes/interval.py](https://codecov.io/gh/pandas-dev/pandas/pull/25820/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9pbnRlcnZhbC5weQ==) | `95.22% <100%> (ø)` | :arrow_up: |
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/25820/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `78.94% <0%> (-10.53%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/25820/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `96.9% <0%> (-0.12%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=footer). Last update [3ab84a0...480b353](https://codecov.io/gh/pandas-dev/pandas/pull/25820?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

Can you add a whatsnew note to `pandas/doc/source/whatsnew/v0.25.0.rst` under the "Performance Improvements" section?
can you update
@makbigc can you merge master, also @topper-123 offered some nice suggestions, see if they can work
can you merge master and ping on green.
thanks @makbigc 
​thanks @topper-123 @jschendel and @jreback