Community
Participate
Working Groups
Within a build, the number of buildfiles that are implicated is small. We currently do no caching of the location information. For each message we re- lookup the IFile and do the parsing of the linenumber. On Ant 1.6.* location gives us the methods to get the filename and linenumber and we could degrade on older Ants as for the AntDebugState. We could do a caching scheme from the location to the IFile as well in the loggers.
Some cleanup / caching work done here for both separate and same JRE builds. Seems to be about a 5% gain for my tests. Gain will scale depending on the amount of links in the output. Much less garbage created as well. AntProcessBuildLogger: maintains a lookup of filename to IFile, uses new Ant Location accessors for filename and lineNumber RemoteAntBuildLogger: majorly trimmed the redundant data sent "over the wire", makes use of the new Ant Location accessors for fileName and lineNumber RemoteAntBuildListener: refactored out the handling of task and target messages. Caches the last task and last filename message and maintains a lookup of filename to IFile buildExtraJAR.xml: requires debug ui for FileLink MessageIds: reduced size of constant identifiers Added echoProperties test to have a test with lots of links. Changes to SeparateVMTests, AntUIPerformanceTests, ProjectCreationDecorator. Back ported to 3.0 test streams.
So the stuff is in and the tests are running but we are showing huge slow downs from 3.0....sigh. I know this is faster within the 3.1 stream from my testing and the other console tests are showing 2-3% gains so I really don't understand. Will keep watch but likely will pull the new test.
Please verify Kevin.
verified