Ant 1.8.0性能低下

bur*_*all 5 ant performance exec

新的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>
Run Code Online (Sandbox Code Playgroud)

它是备份数据库的目标(备份大小~100 Mb).Ant 1.7.1工作约30秒,Ant 1.8.0 - 15分钟.我试了几次,效果很稳定.Ant 1.8的处理器负载非常低,旧的处理器负载接近50%.看起来像进程优先级或缓慢IO操作的问题.有任何想法吗?

jen*_*ert 2

使用时我发现类似的性能下降

<apply executable="...">
   ...
</apply> 
Run Code Online (Sandbox Code Playgroud)

看起来这种性能下降是由 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)。