[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