The primary factor in the performance of report generation is the amount of data that must be loaded. For this reason it is best to use highly specific JQL queries where possible. For example specifying only issues that have been updated in the last n days in all JQL queries can drastically reduce report generation time in systems with tens of thousands of issues.