[
https://issues.apache.org/jira/browse/JEXL-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitri Blinov updated JEXL-216:
-------------------------------
Description: At the moment the {{Engine.parse()}} method synchronizes on
{{parser}} member even if the caching is enabled and the actual parsing is not
required, in case of cache hit. This effectively serializes processing of
scripts and expressions in multithreaded scenario. The suggestion is to
separate synchronization on cache from synchronization on parser, with the
latter only being performed if actual parsing is required. (was: At the moment
the {{Engine.parse()}} method synchronizes on parser member even if the caching
is enabled and the actual parsing is not required, in case of cache hit. This
effectively serializes processing of scripts and expressions in multithreaded
scenario. The suggestion is to separate synchronization on cache from
synchronization on parser, with the latter only being performed if actual
parsing is required.)
> Improve parsing concurrency in multithreaded environment
> --------------------------------------------------------
>
> Key: JEXL-216
> URL: https://issues.apache.org/jira/browse/JEXL-216
> Project: Commons JEXL
> Issue Type: Improvement
> Affects Versions: 3.0
> Reporter: Dmitri Blinov
> Priority: Minor
>
> At the moment the {{Engine.parse()}} method synchronizes on {{parser}} member
> even if the caching is enabled and the actual parsing is not required, in
> case of cache hit. This effectively serializes processing of scripts and
> expressions in multithreaded scenario. The suggestion is to separate
> synchronization on cache from synchronization on parser, with the latter only
> being performed if actual parsing is required.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)