Strange. Maybe attachements aren't allowed on this mailing list. I'll create a Jira issue and attach the patch there.
/Magnus >-----Original Message----- >From: Petar Tahchiev [mailto:[EMAIL PROTECTED] >Sent: Tuesday, August 19, 2008 10:20 PM >To: Cactus Developers List >Cc: Lars Törner >Subject: Re: cactus performance > >HI Magnus, > >I have also noticed that issue, but only with extremely large >WAR/EAR files. Currently the CactifyWar task only checks >to see if the given JARs are present and logs a message. >The problem comes when the archive grows very big - then >the cactifywar task has to look all over it to check if the requested >JARs >are present. > >I think it is reasonable to have a parameter for the task and instruct >it to skip the search when this parameter is set. > >I don't see your patch attached. Maybe you forgot to attach it? > > >Thanks for the point. > >2008/8/19 Magnus Grimsell <[EMAIL PROTECTED]> > >> Hi all, >> >> We have been working with improving the performance of our build loop >the >> last week. >> When profiling we realized that 37% of a complete build is spent in >> CactifyWarTask.addCactusJars(). Even more when building separate >targets. >> >> To solve this we made a patch where you can tell CactifyWarTask that >the >> cactus jars is already present. Do you think this is a good approach? >> I've attached the patch and the profile report so you guys can have >look at >> it before I commit anything. >> >> Profile report: >> Call tree (all threads together) >> >> >> +--------------------------------------------------------------------- >-----------------------------+------------------+ >> | Name >> | Time (ms) | >> >> +--------------------------------------------------------------------- >-----------------------------+------------------+ >> | +---<All threads> >> | 375 829 100 % | >> | | >> | | >> | +---org.apache.tools.ant.launch.Launcher.main(String[]) >> | 375 016 100 % | >> | | | >> | | >> | | +---iipax.embedded.ant.Application.execute() >> | 235 536 63 % | >> | | | | >> | | >> | | | >> +--- >iipax.embedded.ant.application.TestApplication.makeEarTestable(File) >> | 166 597 44 % | >> | | | | | >> | | >> | | | | >> +---iipax.embedded.ant.application.TestApplication.cactifyEar(File, >File) >> | 164 644 44 % | >> | | | | | | >> | | >> | | | | | +--- >org.apache.cactus.integration.ant.CactifyEarTask.execute() >> | 164 644 44 % | >> | | | | | | >> | | >> | | | | | >> +---org.apache.cactus.integration.ant.CactifyEarTask.createCactusWar() >> | 153 834 41 % | >> | | | | | | | >> | | >> | | | | | | >> +---org.apache.cactus.integration.ant.CactifyWarTask.execute() >> | 141 147 38 % | >> | | | | | | | | >> | | >> | | | | | | | >> +---org.apache.cactus.integration.ant.CactifyWarTask.addCactusJars() >> | 138 312 37 % | >> | | | | | | | | >> | | >> | | | | | | | +---org.apache.tools.ant.taskdefs.Zip.execute() >> | 2 100 1 % | >> | | | | | | | | >> | | >> | | | | | | | >> +--- >org.apache.cactus.integration.ant.CactifyWarTask.getOriginalWebXml() >> | 718 0 % | >> | | | | | | | | >> | | >> | | | | | | | >> +--- >org.apache.cactus.integration.ant.CactifyWarTask.cactifyWebXml(WebXml) >> | 15 0 % | >> | | | | | | | >> | | >> | | | | | | >> +--- >org.apache.cactus.integration.ant.CactifyEarTask.addEjbReferencesToWar(F >ile) >> | 12 687 3 % | >> | | | | | | >> | | >> | | | | | +---org.apache.tools.ant.taskdefs.Zip.execute() >> | 9 184 2 % | >> | | | | | | >> | | >> | | | | | >> +--- >org.apache.cactus.integration.ant.CactifyEarTask.getOriginalApplicationX >ml() >> | 1 625 0 % | >> | | | | | >> | | >> | | | | >> +---iipax.embedded.ant.application.TestApplication.createTestWar() >> | 1 921 1 % | >> | | | | | >> | | >> | | | | +---java.io.File.delete() >> | 31 0 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.Application.buildPP(ProductPart, >String) >> | 24 335 6 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.application.Compiler.compile() >> | 23 609 6 % | >> | | | | >> | | >> | | | >> +---iipax.embedded.ant.application.PPFileAssembler.addPP(ProductPart) >> | 5 562 1 % | >> | | | | >> | | >> | | | >> +---iipax.embedded.ant.application.EarUnit.addThirdParties(Collection) >> | 3 546 1 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.application.EarUnit.addPPs(Collection) >> | 2 906 1 % | >> | | | | >> | | >> | | | +--- >iipax.embedded.ant.application.CrossCut.addPP(ProductPart, >> Task) | 2 562 1 % | >> | | | | >> | | >> | | | +--- >iipax.embedded.ant.application.WebStartApplication.create() >> | 2 056 1 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.application.EjbRefAdder.modify() >> | 1 484 0 % | >> | | | | >> | | >> | | | >> +--- >iipax.embedded.ant.application.ConfigurationWriter.addPP(ProductPart) >> | 1 015 0 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.application.SqlWriter.close() >> | 953 0 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.Application.createInstall() >> | 625 0 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.application.CrossCut.close() >> | 234 0 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.application.EarUnit.close() >> | 31 0 % | >> | | | | >> | | >> | | | +---iipax.embedded.ant.Application.createAppDirs() >> | 15 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.write(byte[], int, >int) >> | 22 554 6 % | >> | | | >> | | >> | | +---org.apache.tools.tar.TarOutputStream.write(byte[], int, >int) >> | 22 437 6 % | >> | | | >> | | >> | | +---com.puppycrawl.tools.checkstyle.CheckStyleTask.execute() >> | 19 671 5 % | >> | | | >> | | >> | | +--- >org.apache.tools.zip.ZipFile$BoundedInputStream.read(byte[], >> int, int) | 10 895 3 % | >> | | | >> | | >> | | +---iipax.embedded.ant.ApiClosure.execute() >> | 6 921 2 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.write(byte[], int, >int) >> | 3 311 1 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.putNextEntry(ZipEntry) >> | 3 203 1 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.write(byte[], int, >int) >> | 2 920 1 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipFile.<init>(File, String) >> | 2 048 1 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.close() >> | 1 217 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipFile.getInputStream(ZipEntry) >> | 484 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.putNextEntry(ZipEntry) >> | 469 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.write(byte[], int, >int) >> | 265 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.write(byte[], int, >int) >> | 250 0 % | >> | | | >> | | >> | | >> +--- >iipax.embedded.ant.ProductPartContainer.addConfiguredComponent(Component >) >> | 203 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.close() >> | 184 0 % | >> | | | >> | | >> | | +---org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser() >> | 171 0 % | >> | | | >> | | >> | | +--- >org.apache.tools.zip.ZipFile$BoundedInputStream.read(byte[], >> int, int) | 149 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.putNextEntry(ZipEntry) >> | 129 0 % | >> | | | >> | | >> | | +---org.apache.tools.tar.TarOutputStream.putNextEntry(TarEntry) >> | 125 0 % | >> | | | >> | | >> | | +---org.apache.tools.tar.TarOutputStream.closeEntry() >> | 78 0 % | >> | | | >> | | >> | | +--- >org.apache.xerces.parsers.AbstractSAXParser.parse(InputSource) >> | 62 0 % | >> | | | >> | | >> | | +---org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser() >> | 31 0 % | >> | | | >> | | >> | | +--- >org.apache.xerces.parsers.AbstractSAXParser.parse(InputSource) >> | 31 0 % | >> | | | >> | | >> | | +--- >org.apache.xerces.parsers.AbstractSAXParser.parse(InputSource) >> | 31 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.close() >> | 20 0 % | >> | | | >> | | >> | | +---org.apache.tools.tar.TarOutputStream.<init>(OutputStream) >> | 15 0 % | >> | | | >> | | >> | | +---org.apache.tools.tar.TarEntry.<init>(String) >> | 15 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.putNextEntry(ZipEntry) >> | 15 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipOutputStream.putNextEntry(ZipEntry) >> | 15 0 % | >> | | | >> | | >> | | +---org.apache.tools.zip.ZipEntry.<init>(String) >> | 15 0 % | >> | | | >> | | >> | | +---com.cenqua.clover.tasks.CloverTask.<clinit>() >> | 15 0 % | >> | | | >> | | >> | | +---org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser() >> | 15 0 % | >> | | | >> | | >> | | +---org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser() >> | 15 0 % | >> | | >> | | >> | +---java.lang.ref.Finalizer$FinalizerThread.run() >> | 437 0 % | >> | | >> | | >> | +---java.lang.ref.Reference$ReferenceHandler.run() >> | 328 0 % | >> | | >> | | >> | +---java.lang.Thread.run() >> | 31 0 % | >> | | >> | | >> | +---java.lang.ClassLoader.loadClassInternal(String) >> | 15 0 % | >> >> +--------------------------------------------------------------------- >-----------------------------+------------------+ >> >> Generated by __PRODUCT_NAME__ 2008-aug-19 09:25:22 >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > > >-- >Regards, Petar! >Karlovo, Bulgaria. >- - - - - - - - >| Author @ Manning Publications. >| Technical Consultant @ HP >| BGJUG-Bulgarian Java User Group Leader. >| Apache Jakarta PMC member. >| Jakarta Cactus Lead Developer. >| Blogger: http://weblogs.java.net/blog/paranoiabla/ >- - - - - - - - >Public PGP Key at: >https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C311061 >1 >Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 0611 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]