[prev in list] [next in list] [prev in thread] [next in thread]
List: cactus-dev
Subject: RE: cactus performance
From: "Magnus Grimsell" <magnus.grimsell () idainfront ! se>
Date: 2008-08-20 6:35:58
Message-ID: AC0E4F93E4EA0741B0987148298E9F049EECA6 () narnia ! idainfront ! idainfront ! se
[Download RAW message or body]
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:paranoiabla@gmail.com]
>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 <magnus.grimsell@idainfront.se>
>
>> 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: cactus-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: cactus-dev-help@jakarta.apache.org
>>
>
>
>
>--
>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: cactus-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: cactus-dev-help@jakarta.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic