新版 Ant 1.8.0 (2月1日发布) 推出了一些很酷的功能,于是我尝试使用新版 Ant 进行构建/部署脚本。但我惊讶地发现,某些目标的执行时间变慢了10-30倍!下面是一个使用 Exec 任务的简单示例,虽然我也在其他任务类型中遇到了性能问题。
<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>
这是一个备份数据库的目标(备份大小约为100 Mb)。Ant 1.7.1需要大约30秒完成,而Ant 1.8.0则需要15分钟。我尝试了几次,效果是稳定的。对于Ant 1.8来说,处理器负载非常低,而旧版本则接近50%。看起来像是进程优先级或IO操作缓慢的问题。有什么想法吗?