Hi

Just a heads-up that the work has been committed to master.

On Thu, Mar 11, 2021 at 3:28 PM Claus Ibsen <[email protected]> wrote:
>
> Hi
>
> The continued effort to optimize and trim the camel-core, then we are
> currently working on reducing object allocations. One part is the new
> flag to turn on exchange pooling (for recycling objects).
>
> As part of routing messages by Camel then some details are stored by
> EIPs in the exchange properties, which is a map. The exchange
> properties can also be mixed with user data, so we have both together.
>
> So part of the optimizations is to separate this more, and store EiP
> state in "another way" that avoids object allocations and also does
> not mix up with user data.
>
> The JIRA is
> https://issues.apache.org/jira/browse/CAMEL-16326
>
> The APIs on Exchange has been made aware of this, and if you do a
>
> getProperty(Exchange.EXCEPTION_CAUGHT)
>
> Then it works as today, but internally Camel knows that this key is
> reserved and performs an optimized lookup.
>
> The only effect is that getProperties() that returns a Map would not
> include those internal objects anymore, as it's intended to only
> return the user data properties, if the Camel end user has stored some
> data via setProperty("foo", ...)
>
> We may introduce a
>
> getProperties(boolean) where bool=true can return both internal + user
>
> However the progress of all these internal optimizations is showing
> great results.
> The routing engine has close to zero object allocations (a few complex
> EIPs like splitter, multicast, aggregator, does have some allocations,
> but we will look at this later).
>
> But at the end of the day, there will be object allocations when using
> Camel - all the user data (body, headers) that the components consume,
> or when producing. But then its not core Camel but the 3rd party
> components that cause this.
>
> This little example
> https://github.com/apache/camel-performance-tests/tree/master/profiling/timer-log
> ... went from allocation 2.5 mio objects to < 1000 when running for 2 minutes.
>
>
>
>
>
> --
> 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