[
https://issues.apache.org/jira/browse/WINK-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12733947#action_12733947
]
Bryant Luk commented on WINK-114:
---------------------------------
I think the generic header caches are pretty neat with the
WINK-114-generic.patch. However, I was curious about the thread safety of this
approach or any static WeakHashMap cache. This has been bugging me for a few
hours since I was thinking that WeakHashMap (or any other
non-synchronized/non-thread safe collection) had to be made thread safe for the
caching.
I see issues like:
https://issues.apache.org/jira/browse/BEANUTILS-318
with static WeakHashMaps. I would think we would run into similar issues but
maybe someone will be kind enough to correct me?
> 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.2
>
> Attachments: WINK-114-generic.patch, WINK-114-ThreadLocal.patch,
> WINK-114-use-pattern.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.