When you have a Sitecore instance which has more than 1 million items and it is hosted on an environment that is not properly scaled, you have a recipe for disaster.
Not only that the website loads quite slow, but from time to time you will have to deal as well with unscheduled IIS resets. And when that happens, you will see that Sitecore loads in more than 5 minutes sometimes. On my case, Sitecore was starting up in a timeframe between 15 and 20 minutes.
One solution that I found out to be quite effective is to update the following web.config line accordingly:
<compilation defaultLanguage="c#" debug="false" targetFramework="4.5" optimizeCompilations="true">
The optimizeCompilations flag has been introduced by Microsoft for a while now starting with .NET Framework 3.5 and it is aimed to greatly improve the compilation time in certain scenarios.
In our project context, it worked like a charm reducing the compilation time from 20 minutes to around 3 minutes for more than 8 million Sitecore items.
More about it on Microsoft MSDN