felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guillaume Nodet (JIRA)" <j...@apache.org>
Subject [jira] Updated: (FELIX-2282) Optimize Services Printer
Date Tue, 15 Jun 2010 08:55:23 GMT

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

Guillaume Nodet updated FELIX-2282:
-----------------------------------

    Fix Version/s: webconsole-3.1.2
                       (was: webconsole-3.1.0)

> 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
>            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.


Mime
View raw message