[
https://issues.apache.org/jira/browse/CAMEL-23691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-23691 started by Guillaume Nodet.
-----------------------------------------------
> camel-core - Improve CaseInsensitiveMap with O(1) hash table and header key
> deduplication
> -----------------------------------------------------------------------------------------
>
> Key: CAMEL-23691
> URL: https://issues.apache.org/jira/browse/CAMEL-23691
> Project: Camel
> Issue Type: Improvement
> Reporter: Guillaume Nodet
> Assignee: Guillaume Nodet
> Priority: Major
> Fix For: 4.21.0
>
>
> Replace the TreeMap-based CaseInsensitiveMap with a custom hash table
> implementation, improving the performance of every header access in every
> Camel route.
> CaseInsensitiveMap is the default headers map for every Exchange in Camel.
> The TreeMap provides O(log n) lookups with string comparisons at every tree
> node. The new implementation provides:
> - O(1) for get, put, containsKey, remove
> - Zero allocation on lookups — case-insensitive hash computed char-by-char
> - Header key deduplication — well-known Exchange header constants are
> registered at startup via ExchangeConstantProvider, reducing memory across
> exchanges
> - Entries stored in insertion order (deterministic iteration)
> - No external dependencies, no ThreadLocal, no reflection
> - Eliminates the need for camel-headersmap in most cases
> https://github.com/apache/camel/pull/23766
--
This message was sent by Atlassian Jira
(v8.20.10#820010)