Boolean indexing sometimes extremely slow
I appear to have some code that is sometimes (inexplicably) running in pure Python (i.e. **not** Cython-optimized). Specifically, the problem is with `loc[]` indexing on a boolean Series:

![pandas slow loc lookup example](https://cloud.githubusercontent.com/assets/9703332/10828484/e9995bbc-7e4a-11e5-9b00-ae367f328541.png)

_(Apologies for the redacted code and console output, but this project is not an open-source delivery)_

For context: `world.persons` returns a `DataFrame` with approximately 8 million records long and 15 columns wide. It uses a MultiIndex with 2 levels.

This `run()` method is being called twice in the software sequence. The first time `run()` is called, `persons.loc[filter_column]` takes **15 minutes** to execute, while the second time it only takes 5 seconds.  What the heck is going on here?

Furthermore, this is NOT the first time in the program that `world.persons` is being indexed, so I am not sure how caching is being applied.

One other thing: prior to this `loc[]` call, my system starts to approach memory limits to the point that Windows begins paging.

My OS is Windows 7 x64, and I'm using Pandas version 0.17.0.
