[forge-dev] Improving the performance of weld for micro-deployments.

Lincoln Baxter, III lincolnbaxter at gmail.com
Tue Jan 29 17:37:25 EST 2013


Okay, good to know. What kind of info would you need to get into things?

Also, any idea why the report says that my Bootstrap.main(String[]) is
called over 1000 times? Seems a bit odd to me. This method literally does a
little string parsing, then calls starts Forge in a Thread (and waits for
that thread to finish.)


On Tue, Jan 29, 2013 at 5:33 PM, Stuart Douglas
<stuart.w.douglas at gmail.com>wrote:

> Tracing is pretty useless at identifying slow parts, as the overhead it
> adds distorts the profile too much. The only thing it is really good for is
> identifying methods that are called too often.
>
> Sampling is generally much better.
>
>
>
> Stuart
>
> Lincoln Baxter, III wrote:
>
>> What kind of information do you need? I was unable to get YourKit to
>> dump a .snapshot file for some reason. If that's what you need, I can
>> try again. Which profile mode? This was done using tracing.
>>
>> Thanks!
>>
>>
>> On Tue, Jan 29, 2013 at 4:32 PM, Stuart Douglas
>> <stuart.w.douglas at gmail.com <mailto:stuart.w.douglas@**gmail.com<stuart.w.douglas at gmail.com>>>
>> wrote:
>>
>>     The screenshot does not really tell us much. We would need to see
>>     the actual profile information.
>>
>>     Stuart
>>
>>
>>     Lincoln Baxter, III wrote:
>>
>>         Hi Jozef, Stuart, and Weld-devs,
>>
>>         In Forge 2 we are using Weld extensively, and one of the things
>>         we do is
>>         start up many instances simultaneously.
>>
>>         We may have anywhere from one to one-hundred or more weld
>> instances.
>>         Currently we have only seen around 10-12 instances, and
>>         performance is
>>         "Okay", but in theory, we could see hundreds of instances, at
>> which
>>         point, performance starts to be a concern. We're working around
>> this
>>         problem by disabling CDI support on some internal addons, but...
>>         it's
>>         not really reasonable to expect that everyone will do this.
>>
>>         Which means... we need to figure out how to shave as much time
>>         off the
>>         bootstrap as possible. Currently each weld instance takes
>>         anywhere from
>>         80ms to 450ms to start (not really sure why such variation yet,)
>> and
>>         we'd hopefully like to get that down even lower, around 10-20ms.
>>         Classloading time only would be optimal, but obviously difficult
>>         to achieve.
>>
>>
>>         How can we get the most speed out of Weld? Most of our
>>         deployments have
>>         only ~15 bean classes at most. It seems like a lot of time
>>         (~30-40%) is
>>         being spent in the Google concurrent collections.
>>
>>         (Screenshot attached.)
>>
>>         Thanks,
>>
>>         --
>>         Lincoln Baxter, III
>>         http://ocpsoft.org
>>         "Simpler is better."
>>
>>
>>
>>
>> --
>> Lincoln Baxter, III
>> http://ocpsoft.org
>> "Simpler is better."
>>
>


-- 
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20130129/c48b34e4/attachment-0001.html 


More information about the forge-dev mailing list