https://issues.apache.org/bugzilla/show_bug.cgi?id=49384
Summary: Fix for Bug 48746 causes slowdown in chmod task
execution
Product: Ant
Version: 1.8.1
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Core tasks
AssignedTo: [email protected]
ReportedBy: [email protected]
The fix for bug 48746 causes slowdown in task execution significantly.
On my system with the "time" command it appears to add around 400ms of latency
for each process exec.
I've only tested it on chmod, because one of our projects has need to chmod
massive files.
I have a simple build.xml:
<project name="chmodtest" default="doChmodSingle" basedir=".">
<target name="doChmodSingle">
<chmod dir="." type="file" perm="755" includes="**" parallel="false"/>
</target>
<target name="doChmodParallel">
<chmod dir="." type="file" perm="755" includes="**" parallel="true"/>
</target>
</project>
run against 100 files created with:
for i in `seq 1 100`; do touch $i; done
With the 1.8.1 stock PumpStreamHandler:
Buildfile: /mnt/disk1/home/awang/test/build.xml
doChmodSingle:
BUILD SUCCESSFUL
Total time: 41 seconds
real 0m41.483s
user 0m0.738s
sys 0m0.614s
With the Os.isFamily("windows") back in the StreamPumper constructor (this was
removed and replaced with true for the fix for bug 48746) the results are:
Buildfile: /mnt/disk1/home/awang/test/build.xml
doChmodSingle:
BUILD SUCCESSFUL
Total time: 0 seconds
real 0m1.079s
user 0m0.704s
sys 0m0.601s
With the doChmodParallel, the results are consistently:
stock 1.8.1 behavior
real 0m0.874s (this varies from 872-875 on about a dozen runs)
Os.isFamily("windows") check behavior:
real 0m0.474s (this is pretty consistent)
Because of AIX's annoying handling of parallelism, for certain large
directories, we just gave up and turned off parallelism. Even with a realistic
maxparallel, the extra 400ms per execution can add as minutes to the build
script time.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.