New 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操作的问题。有什么想法吗?
答案 0 :(得分:2)
使用
时,我看到类似的性能下降<apply executable="...">
...
</apply>
看起来这种性能下降是由ANT 1.8.0中的一个9年前的错误修复引起的:https://issues.apache.org/bugzilla/show_bug.cgi?id=5003(见评论#29)。
ANT 1.8.1的性能稍有改善,但仍然比ANT 1.7.1更差:https://issues.apache.org/bugzilla/show_bug.cgi?id=48734(见评论#2)。
答案 1 :(得分:1)
我建议直接向Ant团队提交错误报告。他们的回应时间通常非常好。