[ 
https://issues.apache.org/jira/browse/FELIX-2282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Valentin Valchev updated FELIX-2282:
------------------------------------

    Component/s: Web Console

> Optimize Services Printer
> -------------------------
>
>                 Key: FELIX-2282
>                 URL: https://issues.apache.org/jira/browse/FELIX-2282
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.0.0
>            Reporter: Valentin Valchev
>             Fix For: webconsole-3.0.2
>
>         Attachments: ServicesConfigurationPrinter.java
>
>
> When navigating through the Configuration Status tabs, the Services is a 
> little bit slower than others (except Bundles, which is the slowest). I look 
> at the code and it might be improved, to make is faster.
> It seems that implementation now is so slow because first it renders to JSON 
> and then converts he data to text.
> A significant optimization can be achieved if:
> 1. Skip to JSON conversion - generate the text directly from the service 
> references.
> 2. Improve usage of message formatter by using pre-parsed formatters:
> {code}
> final MessageFormat format = new MessageFormat(pattern);
> ..
> format.format(object[])
> {code}
> instead of 
> {code}
> MessageFormat.format(pattern, object[])
> {code}
> 3. reuse one Object[] for MessageFormat - this will reduce the temporary 
> objects
> ---
> I've also created a prototype and the performance improvement is even visible 
> while browsing the tabs. The measured results are:
> ServicesServlet.printConfiguration(): now = 250
> ServicesConfigurationPrinter.printConfiguration(): now = 140
> ServicesServlet.printConfiguration(): now = 250
> ServicesConfigurationPrinter.printConfiguration(): now = 141
> ServicesServlet.printConfiguration(): now = 265
> ServicesConfigurationPrinter.printConfiguration(): now = 125
> ServicesServlet.printConfiguration(): now = 250

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to