Hi

I found some other rooms for optimisations such as
- invoking the base of the core type converters faster
- jmx mbean of processors in the routes is using advice over wrapped
processor to reduce garbage collection
- simple language now caches evaluated expressions/predicates which
yields faster evaluation when nested functions are used
- reduced the number of objects allocated at runtime to reduce garbage
collection




On Fri, Jun 23, 2017 at 8:42 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> Hi
>
> Just a little status update, that after a bunch of different
> optimisations, then the YourKit profiler is now down to showing that
> the type converter registry and the uuid generator is potential
> hot-spots, where the former is used a lot and we can optimise the
> conversions for the core converters which I have logged a ticket
> about. And the latter generates an string uuid for each exchange which
> is a little bit long. As its sequencer based and have a fixed prefix,
> then maybe there is some clever optimisation (essentially only the
> sequence is different as they share the same prefix/seed). But its
> already optimise as much by adding two strings together via
> StringBuilder.
>
>
>
> On Fri, May 26, 2017 at 3:59 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>> Hi
>>
>> We have found a few spots to optimize the camel-core source code for
>> thread contention and something else.
>>
>> You can use a profile tool such as YourKit which is excellent at
>> identifying spots and visualizing what goes on in the JVM.
>>
>> We have used it in the past to optimise stuff. However recently Luca
>> asked about making Camel startup faster:
>> https://issues.apache.org/jira/browse/CAMEL-11321
>>
>> And although fast startup is not excatly the same as runtime
>> performance then they are still related. A profile can help identify
>> places for improvements.
>>
>> I have pushed a sample project at
>> https://github.com/davsclaus/camel-profile-sample
>>
>> You can then run this via
>>
>>    mvn spring-boot:run
>>
>> And then attach YourKit profiler.
>>
>> However if you use IDEA then you can start YourKit, then from YourKit
>> you can choose Integrate with IDE ... and then chose IDEA and then say
>> ok even if IDEA is also running.
>>
>> In IDEA you should see a YourKit icon if you right-click on the
>> SampleCamelApplication to run this application, then you can chose
>> that to profile, and it run the app with profiler.
>>
>> You then switch to YourKit and you should start see data.
>> To check for thread contention, then select the "Monitor Usage" tab,
>> and then click the gear button with the play icon "Start Monitor
>> Profile" which then starts capture data.
>>
>> For YourKit you can request a trial license that works for 2 weeks.
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to