2010-02-21 73 views
5

新的Ant 1.8.0(发布2月1日)介绍了一些很酷的功能,所以我尝试使用新的Ant构建/部署脚本。Ant 1.8.0低性能

我很惊讶,对于某些目标,执行时间会变慢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操作速度慢的问题。有任何想法吗?

回答

2

我使用

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

当看到类似的性能退化貌似这个性能下降是由在ANT 1.8.0一个9岁的bug修复这里找到引起: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)。

+0

那么,你必须降级到1.7.1。有不俗的表现? – 2011-08-02 13:39:27

+0

任何方式来调试或配置文件? – 2013-09-27 11:28:08