Remove property that re-computed microsecond
State: closed

Just accessing the already-existing attribute is about 50-130x faster than re-computing it.  These results are from a 2011-era MBP.

Before:
```
In [1]: import pandas as pd
In [2]: ts = pd.Timestamp.now()
In [3]: %timeit ts.microsecond
The slowest run took 4.69 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 29.7 µs per loop
```

After:
```
In [1]: import pandas as pd
In [2]: ts = pd.Timestamp.now()
In [3]: %timeit ts.microsecond
The slowest run took 8.08 times longer than the fastest. This could mean that an intermediate result is being cached.
1000000 loops, best of 3: 620 ns per loop
```

This accounts for the discrepancy discussed in #17234 (https://github.com/pandas-dev/pandas/pull/17297#pullrequestreview-57686247)

Per requests from @jreback, I'm refraining from moving forward with any other optimizations that this makes possible (e.g. removing the roundabout call to `convert_to_tsobject` from `Timestamp.to_pydatetime`).

- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry


Labels:
name: Enhancement
name: Performance
description: Memory or execution speed performance

Comments:
@jbrockmendel : Could you post performance metrics in this PR just for reference?
See update above.
The error on Travis here is identical to the one in #17318.  I can't reproduce it locally in either branch.  Is it plausible that the issue is with Travis?
> The error on Travis here is identical to the one in #17318. I can't reproduce it locally in either branch. Is it plausible that the issue is with Travis?

No, the issue is here: https://github.com/pandas-dev/pandas/issues/17323
Hello @jbrockmendel! Thanks for updating the PR.



Cheers ! There are no PEP8 issues in this Pull Request. :beers: 

##### Comment last updated on August 29, 2017 at 14:47 Hours UTC
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=h1) Report
> Merging [#17331](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/96f92eb1c696723b6465fdc273dc8406201c606a?src=pr&el=desc) will **decrease** coverage by `0.01%`.
> The diff coverage is `n/a`.

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

```diff
@@            Coverage Diff             @@
##           master   #17331      +/-   ##
==========================================
- Coverage   91.01%   90.99%   -0.02%     
==========================================
  Files         162      162              
  Lines       49567    49567              
==========================================
- Hits        45113    45104       -9     
- Misses       4454     4463       +9
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.77% <ø> (ø)` | :arrow_up: |
| #single | `40.24% <ø> (-0.07%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.72% <0%> (-0.1%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17331?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/17331?src=pr&el=footer). Last update [96f92eb...26c0980](https://codecov.io/gh/pandas-dev/pandas/pull/17331?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/17331?src=pr&el=h1) Report
> Merging [#17331](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/96f92eb1c696723b6465fdc273dc8406201c606a?src=pr&el=desc) will **decrease** coverage by `0.01%`.
> The diff coverage is `n/a`.

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

```diff
@@            Coverage Diff             @@
##           master   #17331      +/-   ##
==========================================
- Coverage   91.01%   90.99%   -0.02%     
==========================================
  Files         162      163       +1     
  Lines       49567    49561       -6     
==========================================
- Hits        45113    45098      -15     
- Misses       4454     4463       +9
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.77% <ø> (-0.01%)` | :arrow_down: |
| #single | `40.25% <ø> (-0.06%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.72% <0%> (-0.1%)` | :arrow_down: |
| [pandas/core/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYmFzZS5weQ==) | `95.96% <0%> (-0.07%)` | :arrow_down: |
| [pandas/core/series.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvc2VyaWVzLnB5) | `94.95% <0%> (-0.05%)` | :arrow_down: |
| [pandas/core/strings.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvc3RyaW5ncy5weQ==) | `98.45% <0%> (-0.03%)` | :arrow_down: |
| [pandas/core/indexing.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhpbmcucHk=) | `93.94% <0%> (ø)` | :arrow_up: |
| [pandas/core/accessor.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYWNjZXNzb3IucHk=) | `100% <0%> (ø)` | |
| [pandas/core/generic.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ2VuZXJpYy5weQ==) | `91.99% <0%> (ø)` | :arrow_up: |
| [pandas/core/indexes/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9iYXNlLnB5) | `95.88% <0%> (ø)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17331?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/17331?src=pr&el=footer). Last update [96f92eb...9919df4](https://codecov.io/gh/pandas-dev/pandas/pull/17331?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

Just pushed with asv and note in whatsnew.  Two runs of asv results:

```
[100.00%] ··· Running timestamp.TimestampProperties.time_weekday_name                                                                                                                                                                                     26.8±0.9μs       before           after         ratio
     [96f92eb1]       [48a59233]
+        34.7±1μs        70.6±10μs     2.03  timestamp.TimestampProperties.time_is_quarter_end
+      34.4±0.8μs         57.4±2μs     1.67  timestamp.TimestampProperties.time_is_quarter_start
+        35.7±2μs         49.9±2μs     1.40  timestamp.TimestampProperties.time_is_year_end
+     1.18±0.02μs      1.58±0.05μs     1.35  timestamp.TimestampProperties.time_freqstr
+      31.5±0.4μs       38.8±0.3μs     1.23  timestamp.TimestampProperties.time_is_month_end
+      30.7±0.5μs         37.7±1μs     1.23  timestamp.TimestampProperties.time_days_in_month
+      33.3±0.6μs         38.8±1μs     1.17  timestamp.TimestampProperties.time_is_month_start
-      30.6±0.8μs         473±10ns     0.02  timestamp.TimestampProperties.time_microsecond
```

```
[100.00%] ··· Running timestamp.TimestampProperties.time_weekday_name                                                                                                                                                                                     30.2±0.7μs       before           after         ratio
     [96f92eb1]       [48a59233]
-        27.0±2μs       20.5±0.5μs     0.76  timestamp.TimestampProperties.time_week
-        399±20ns          301±8ns     0.75  timestamp.TimestampProperties.time_tz
-        27.8±6μs       20.6±0.4μs     0.74  timestamp.TimestampProperties.time_quarter
-        36.3±4μs       23.5±0.8μs     0.65  timestamp.TimestampProperties.time_is_year_end
-      30.2±0.7μs       15.4±0.3μs     0.51  timestamp.TimestampProperties.time_weekday_name
-      22.7±0.7μs          239±8ns     0.01  timestamp.TimestampProperties.time_microsecond
```

`microsecond` is the only one that I _should_ be changed, so it's reassuring that it is an order of magnitude bigger change than everything else.
Looks like the Travis error is the same OSX error that is happening elsewhere.  The AppVeyor error message looked like an HTTP timeout.
What's the syntax for referencing a PR?  For an Issue I'd use ```(:issue:`17331`)```.  should I just replace "issue" with "pull" here?
same syntax just use the pr number
thanks!