2010-02-21 11 views
5

New Ant 1.8.0 (versión 1 de febrero) presenta algunas características interesantes, así que probé mis scripts de compilación/implementación con el nuevo Ant.Ant 1.8.0 de bajo rendimiento

¡Me sorprendió que el tiempo de ejecución se vuelva 10-30 veces más lento para algunos objetivos! A continuación un ejemplo simple con la tarea Exec, aunque también tuve problemas de rendimiento con otros tipos de tareas.

<target name="create_backup_impl" if="db.make_backup" > 
    <echo message="Backup is starting.." /> 
    <exec executable="${db.dump_executable}"  
      output="${db.backup_file}" 
      failonerror="true"> 
     <arg value="-h${db.host}" /> 
     <arg value="-u${db.userid}" /> 
     <arg value="-p${db.password}" /> 
     <arg value="${db.backup_options}" /> 
     <arg value="${db.name}" />  
    </exec> 
    <echo message="Backup completed!" /> 
</target> 

Es un objetivo para la copia de seguridad de la base de datos (tamaño de copia de seguridad ~ 100 Mb). Ant 1.7.1 funciona alrededor de 30 s, Ant 1.8.0 - 15 min. Lo intenté varias veces, el efecto es estable. La carga del procesador es muy baja para Ant 1.8, y cerca del 50% para la anterior. Parece un problema con la prioridad del proceso o las operaciones lentas de IO. ¿Algunas ideas?

Respuesta

2

que estoy viendo la degradación del rendimiento similar al utilizar

<apply executable="..."> 
    ... 
</apply> 

Parece que esta degradación del rendimiento se debe a una corrección de errores de 9 años en ANT 1.8.0 encontrado aquí: https://issues.apache.org/bugzilla/show_bug.cgi?id=5003 (Véase comentario # 29).

El rendimiento mejora ligeramente en ANT 1.8.1 pero es aún peor que ANT 1.7.1: https://issues.apache.org/bugzilla/show_bug.cgi?id=48734 (Ver comentario n. ° 2).

+0

Por lo tanto, hay que bajar a 1.7.1. tener un rendimiento decente? –

+0

¿Alguna forma de depurar o perfil? –

Cuestiones relacionadas