2010-02-21 11 views
5

Nowa Ant 1.8.0 (wydanie 1 lutego) wprowadza kilka fajnych funkcji, więc wypróbowałem swoje skrypty budowania/wdrażania za pomocą nowego Anta.Ant 1.8.0 niska wydajność

Byłem zaskoczony, że czas wykonania staje się 10-30 razy wolniejszy dla niektórych celów! Poniżej prosty przykład z zadaniem Exec, chociaż mam problemy z wydajnością również z innymi typami zadań.

<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> 

Jest to obiekt docelowy do tworzenia kopii zapasowych bazy danych (rozmiar kopii zapasowej ~ 100 Mb). Ant 1.7.1 działa około 30 s, Ant 1,8 - 15 min. Próbowałem kilka razy, efekt jest stabilny. Obciążenie procesora jest bardzo niskie w przypadku Ant 1.8, a prawie 50% w przypadku starego. Wygląda na problem z priorytetem procesu lub wolnymi operacjami we/wy. Jakieś pomysły?

Odpowiedz

2

widzę podobny spadek wydajności podczas korzystania

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

Wygląda na to spadek wydajności spowodowany był 9-letni bug fix w ANT 1.8.0 znaleźć tutaj: https://issues.apache.org/bugzilla/show_bug.cgi?id=5003 (Patrz uwaga # 29).

Wydajność nieznacznie poprawia się w ANT 1.8.1, ale jest jeszcze gorsza niż ANT 1.7.1: https://issues.apache.org/bugzilla/show_bug.cgi?id=48734 (Patrz komentarz nr 2).

+0

Należy zatem przejść na wersję 1.7.1. mieć przyzwoitą wydajność? –

+0

Jakikolwiek sposób debugowania lub profilu? –