2010-02-21 131 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