[
https://issues.apache.org/jira/browse/WINK-114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryant Luk updated WINK-114:
----------------------------
Attachment: WINK-114-ThreadLocal.patch
I think we should have a definite hard cache limit in cases where malicious
clients, or just variety in the Accept headers, causes the cache to grow.
Here's a stab at using a ThreadLocal LinkedHashMap LRU cache.
> Cache parsed Accept header content where possible
> -------------------------------------------------
>
> Key: WINK-114
> URL: https://issues.apache.org/jira/browse/WINK-114
> Project: Wink
> Issue Type: Improvement
> Components: Common
> Affects Versions: 0.1
> Reporter: Nick Gallardo
> Fix For: 0.1
>
> Attachments: WINK-114-ThreadLocal.patch, WINK-114.patch
>
>
> AcceptHeaderDelete.fromString() is called for every invocation. This drives
> calls to string splits and some regex tools that start to show up in profiles
> as taking up a notable amount of time. Since the content for the Accept
> headers will remain within a fairly bounded set, we can cache the parsed
> content and improve performance.
> Here's a patch with a simple solution. Really I think there's a better way
> to do this. Presumably, there are other headers where the same thing
> applies. We can handle those on an individual basis or we can come up with
> something more generic that can be used by all HeaderDelegates.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.