You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2010/06/15 10:59:22 UTC

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

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

Felix Meschberger resolved FELIX-2282.
--------------------------------------

    Resolution: Fixed

I think this can be resolved.

> 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.1.0
>            Reporter: Valentin Valchev
>            Assignee: Valentin Valchev
>             Fix For: webconsole-3.1.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:
> final MessageFormat format = new MessageFormat(pattern);
> ..
> format.format(object[])
> instead of: MessageFormat.format(pattern, object[])
> 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.
-
You can reply to this email to add a comment to the issue online.