You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Graham Murray (JIRA)" <ji...@apache.org> on 2015/08/06 15:46:05 UTC

[jira] [Created] (OLINGO-748) V4 Java Client needs lots of performance tuning.

Graham Murray created OLINGO-748:
------------------------------------

             Summary: V4 Java Client needs lots of performance tuning.
                 Key: OLINGO-748
                 URL: https://issues.apache.org/jira/browse/OLINGO-748
             Project: Olingo
          Issue Type: Improvement
          Components: odata4-client
    Affects Versions: (Java) V4 4.0.0-beta-03
            Reporter: Graham Murray
            Priority: Critical


Removing some of the reflection based equality has helped, but Olingo's Java Client is still painfully slow on Android. A lot of this can be traced to the fact that the client requests 

json and odata.metadata=full as the default pub format.

This can be configured, obviously, and wouldn't be so bad, except a lot of the type metadata and link metadata processing is way too slow at the moment. So when you dial up the density of the metadata and annotations stuff gets pretty slow.

Some of the more major issues are caused by the fact that:

* The code often transitions between FullQualifiedName to a string rep and back to a FullQualifiedName which incurs a lot of string processing overhead.
* Creating URIs on Android is super slow. If possible Olingo should probably leave the link URI's unconstructed until they are absolutely required rather than hydrating/validating them at parse time.
* The validation performed on DateTimeOffset's appears to need more tuning.
* A lot of time is spent matching regular expressions. There are a few uncompiled patterns in play, if any short cuts can be brought into play to more quickly check if a pattern would even apply (character sampling) that might be a good idea.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)