Have you thought about multithreading reports? Or use multiple servers / services to handle subsets of report generation.
We use Crystal Reports XI and find it very slow. In addition, with multi-threaded streams from a single service, Crystal reports have a limit on the number of stream reports you can create. We run our reports (less than your bugs, say, about 30,000 reports) using PdfSharp and stored procedures with Sql Server 2005. And this is a very time-consuming process.
Therefore, we consider several services / servers as an opportunity to generate subsets.
EDIT
as after a thought, I put the Crystal Question in front of X -)
source share