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

Mateusz Nowakowski updated ODE-876:
-----------------------------------

    Attachment: ode1.3.4.3Perf.pdf

Attached ode1.3.4.3Perf.pdf which is a comparison between ODE 1.2, our fix and 
1.3.4.3 which is the latest patch.

The results are satisfying, it is better than ODE 1.2 but still slightly worse 
than the "static" configuration patch (to be honest I don't know why it is 
still better).

In conclusion the latest patch is ok, but there are plenty of places that code 
can be improved.

Please start focusing on performance.

For  example there are still places where: (examples come from 
XPath20ExpressionRuntime)
{code}
            result = (List) someRes;
            __log.debug("Returned list of size " + result.size());
{code}

or:

{code}
Node contextNode = ctx.getRootNode() == null ? DOMUtils.newDocument() : 
ctx.getRootNode();
{code}
it can be replaced by:
{code}
            Node contextNode = ctx.getRootNode();
            if (contextNode == null){
                contextNode = DOMUtils.newDocument();
            }
{code}

or 
{code}
    static String generateMessageExchangeIdentifier(String partnerlinkName, 
String operationName) {
        StringBuffer sb = new StringBuffer(partnerlinkName);
        sb.append('.');
        sb.append(operationName);
        return sb.toString();
    }
{code}
StringBuffer can be replaced by StringBuilder




> ODE 1.3.4 is 10 times slower than ODE 1.3.3
> -------------------------------------------
>
>                 Key: ODE-876
>                 URL: https://issues.apache.org/jira/browse/ODE-876
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3.3
>         Environment: ODE 1.3.4 JBI, Fuse 3.4.0.5, ODE database in memory
>            Reporter: Mateusz Nowakowski
>            Assignee: Tammo van Lessen
>            Priority: Blocker
>             Fix For: 1.3.5
>
>         Attachments: ODE-876-2.patch, ODE-876.patch, ode1.3.4.3Perf.pdf, 
> ODE1.3.4WithODEPath.pdf, ODE_performanceComparison.pdf, OdeProfiling.pdf, 
> ping-pong-load-test-soapui-project.xml, ping-pong-sa-1.0.0.zip
>
>
> We've recently migrated from ODE 1.2 JBI to ODE 1.3.4 JBI.
> We were unable to migrate earlier due to criticial bugs in JBI packages in 
> 1.3.3 and 1.3.2..
> We ran the same performance test against new ODE 1.3.4 and previous ODE 1.2
> The same configuration, the same environment, the same test case, only 
> different ODE zip...
> For example:
> A service which has about 7 invokes bpel activities with ODE 1.3.4 spends on 
> processing 5500 ms
> with ODE 1.2 600ms.. The timings spend on these 7 services doesn't change. 
> JBI bus time doesn;t change. Nothing has changed except ODE version.
> It happens the same for our all orchestrated services.
> The only thing which was changed is ODE version.
> I can't provide the test itself (prioprietary) but I can provide 
> configuration.
> Our services are only in memory.
> ODE database is JBI external and it is Derby in memory. 
> However the results are shocking. We of course abandon ODE 1.3.4 ans stay 
> with ODE 1.2, but if it is not fixed, we may abandon ODE completely.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to