In my limited experience, I have found reports with subreports are poor performers in general. First make sure the subreport queries are fast and returning no more fields than they need to. If I can find another way to calculate whatever field(s) a subreport is populating and eliminate the subreport, I will. Piet's advice about seeking ways to merge datasets is worth pursuing as well.