You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Valentin Valchev (JIRA)" <ji...@apache.org> on 2010/04/14 14:20:54 UTC

[jira] Updated: (FELIX-2282) Optimize Services Printer

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

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

    Attachment: ServicesConfigurationPrinter.java

> Optimize Services Printer
> -------------------------
>
>                 Key: FELIX-2282
>                 URL: https://issues.apache.org/jira/browse/FELIX-2282
>             Project: Felix
>          Issue Type: Improvement
>    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