Hola Marioko, antes todo gracias por tu atencion ,te comento que estoy utilizndo jasperreports-1.1.1.jar y el codigo es el siguiente
// Cargo el reporte maestro
long start = System.currentTimeMillis();
JasperReport masterReport = null;
masterReport = (JasperReport) JRLoader.loadObject(fileNameMaster);
log.addLine(sFecha + " - load Object Master: " + (System.currentTimeMillis() - start));
// Cargo el subreporte
JasperReport subReport = null;
subReport = (JasperReport) JRLoader.loadObject(fileNameSubReport);
log.addLine(sFecha + " - load Object SubReport: " + (System.currentTimeMillis() - start));
Map parameters = new HashMap();
parameters.put("reserva", reserva);
parameters.put("subreport", subReport);
parameters.put("servicios", new jrServiciosDataSource(reserva));
// Ejemplo con data source
JasperPrint masterPrint = null;
// HASTA ACA VA RAPIDO PERO LAS LINEAS DE ABAJO SON LAS QUE ME TARDAN
if ( iTipoSalida == TIPO_SALIDA_IMPRESORA ){
masterPrint = JasperFillManager.fillReport(masterReport, parameters,new jrPasajerosDataSource(conexion,reserva));
log.addLine(sFecha + " - Fill Report: " + (System.currentTimeMillis() - start));
JasperManager.printReport(masterPrint, true);
log.addLine(sFecha + " - JasperManager: " + (System.currentTimeMillis() - start));
}
else if (iTipoSalida == TIPO_VISTA_PRELIMINAR ) {
masterPrint = JasperFillManager.fillReport(masterReport, parameters,new jrPasajerosDataSource(conexion,reserva));
log.addLine(sFecha + " - Fill Report: " + (System.currentTimeMillis() - start));
JasperViewer.viewReport(masterPrint, false);
log.addLine(sFecha + " - JasperViewer: " + (System.currentTimeMillis() - start));
}
Si vos tubieras algun codigo que optimize el proceso por favor enviamelo .Muchas Gracias