How many datasets do you have, and what is the complexity of the report query and report layout. Many times the performance of a report can be assisted, by moving as much of the query to the database as you can, which may include firing a stored proc to populate a table, that you then query against locally. The more complex the report is, the longer it will take to render also.