--- Mark Hindess <[EMAIL PROTECTED]> wrote: > Just in case this helps anyone else. > > I noticed something odd this morning. Although the > default excludes > in ant 1.6.2 correctly ignore .svn directories it > doesn't seem to do > so very efficiently. For example, doing: > > ant -f make/build.xml clean > ant -f make/build-java.xml copy-resources > > The copy-resources step takes over twice as long > with ant 1.6.2 than > with ant 1.6.5. > (Note, the exclude still works and no files in .svn > directories are > copied or it would been even slower. Much older > (some 1.5 versions > and older I think) of ant will copy files in .svn > directories but i > doubt anyone will see this.) > > The reason was obvious when ran: > > strace -o stat.syscalls.log -e stat64 ant -f > make/build-java.xml > copy-resources > fgrep -c /.svn/ stat.syscalls.log > > With ant 1.6.2 the fgrep counts 22948 stat calls for > files within .svn > directories but with ant 1.6.5 it counts zero!
I fixed this. ;) > > I mention this because it will undoubtedly slow down > builds for anyone > using this version of ant *and* because this version > of ant is the > default for Debian stable users so quite a few > people will probably be > using this version. > > I've upgraded (using ant 1.6.5 which is in > unstable). It's not really "in unstable"? > a big deal but it certainly makes a difference if > you are running on > slow hardware (or like me doing some testing under > an emulator like > qemu). > It can be painful to install a new version of Ant on a Linux system with a preinstalled version. See http://ant.apache.org/faq.html#InstantiationException . So it would be better to uninstall the old version when upgrading. Another performance booster that needs to be made if anyone finds the time (I want to do it, but...): refactor all the <ant> invocations in the module buildfiles to use 1.6+ <import>s. These allow composable, multi-inheritance buildfiles, and because all targets execute in the same project context memory usage is drastically decreased, while performance is noticeably increased. The top-level buildfiles would probably use the <subant> task to invoke the module builds. Finally, know that Ant 1.7 is (finally!) on the horizon. One minor addition it will bring, that directly relates to a recent topic here, are the "magic properties" ant.build.javac.source and ant.build.javac.target . Anyone wanna guess what they do? And in case anyone wonders, these were not introduced for any reason directly related to Harmony; this is simply an example of convergent evolution. -Matt > Regards, > Mark. > > -- > Mark Hindess <[EMAIL PROTECTED]> > IBM Java Technology Centre, UK. > > --------------------------------------------------------------------- > Terms of use : > http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
