You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2008/09/19 12:33:29 UTC
svn commit: r697038 - /ant/core/trunk/src/etc/performance/dirscanner.xml
Author: bodewig
Date: Fri Sep 19 03:33:29 2008
New Revision: 697038
URL: http://svn.apache.org/viewvc?rev=697038&view=rev
Log:
alternative scan task that uses resourcecount to isolate memory effect of pathconvert (and its result) from scanning
Modified:
ant/core/trunk/src/etc/performance/dirscanner.xml
Modified: ant/core/trunk/src/etc/performance/dirscanner.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/etc/performance/dirscanner.xml?rev=697038&r1=697037&r2=697038&view=diff
==============================================================================
--- ant/core/trunk/src/etc/performance/dirscanner.xml (original)
+++ ant/core/trunk/src/etc/performance/dirscanner.xml Fri Sep 19 03:33:29 2008
@@ -32,9 +32,11 @@
Consider taking a nap if you run Ant 1.6.x or 1.7.0 against a
"big" setup.
- The tests use the pathconvert task whose performance should be
- dominated by directory scanner, they would use ressourcecount if
- that had been available in Ant 1.6.5.
+ If Ant 1.6.x is detected or the property ant16 has been specified
+ on the command line then the tests will use the pathconvert task
+ instead of resourcecount. So if you want to compare Ant 1.6.x
+ with later versions of you must specify ant16 on the command line
+ during your 1.[78].x tests.
The tests will use the default settings of followsymlinks="true"
and casesensitive="true" unless those values get overwritten by
@@ -46,6 +48,10 @@
<property name="symlinks" value="true"/>
<property name="casesensitive" value="true"/>
+ <condition property="ant16">
+ <contains string="${ant.version}" substring="1.6."/>
+ </condition>
+
<echo>This is ${ant.version}</echo>
<target name="prepare-setup">
@@ -154,6 +160,7 @@
<delete dir="${test.dir}"/>
</target>
+ <target name="define-scan-16" if="ant16">
<macrodef name="scan">
<attribute name="test"/>
<element name="patterns" optional="true"/>
@@ -168,13 +175,33 @@
</pathconvert>
</sequential>
</macrodef>
+ </target>
+
+ <target name="define-scan-17+" unless="ant16">
+ <macrodef name="scan">
+ <attribute name="test"/>
+ <element name="patterns" optional="true"/>
+ <sequential>
+ <resourcecount property="@{test}">
+ <fileset dir="${test.dir}" followSymlinks="${symlinks}"
+ casesensitive="${casesensitive}">
+ <patterns/>
+ </fileset>
+ </resourcecount>
+ </sequential>
+ </macrodef>
+ </target>
+
+ <target name="define-scan" depends="define-scan-16,define-scan-17+"/>
<target name="matchall"
+ depends="define-scan"
description="doesn't specify any patterns">
<scan test="matchall"/>
</target>
<target name="roots"
+ depends="define-scan"
description="only contains include patterns that match starts">
<scan test="roots">
<patterns>
@@ -185,6 +212,7 @@
</target>
<target name="many-roots"
+ depends="define-scan"
description="only contains include patterns that match starts">
<scan test="many-roots">
<patterns>
@@ -233,6 +261,7 @@
</target>
<target name="recursive-excludes"
+ depends="define-scan"
description="specifies include and exclude patterns with wildcards">
<scan test="recursive-excludes">
<patterns>
@@ -243,6 +272,7 @@
</target>
<target name="name-matches"
+ depends="define-scan"
description="specifies include and exclude patterns matching on file names">
<scan test="names-matches">
<patterns>
@@ -253,6 +283,7 @@
</target>
<target name="many-patterns"
+ depends="define-scan"
description="specifies many include and exclude patterns">
<scan test="many-patterns">
<patterns>
@@ -281,5 +312,5 @@
</target>
<target name="all"
- depends="matchall, roots, recursive-excludes, name-matches, many-patterns, many-roots"/>
+ depends="define-scan,matchall, roots, recursive-excludes, name-matches, many-patterns, many-roots"/>
</project>