You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Andrew Grieve (JIRA)" <ji...@apache.org> on 2012/09/24 23:00:08 UTC

[jira] [Commented] (CB-1530) Alleviate PluginManager.exec() performance concerns

    [ https://issues.apache.org/jira/browse/CB-1530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13462119#comment-13462119 ] 

Andrew Grieve commented on CB-1530:
-----------------------------------

Hi Curtiss,

Definitely like this idea. Thanks for bringing it up! I have another frustration with the way plugins work on Android around, which I just filed today:
https://issues.apache.org/jira/browse/CB-1532

Let me put together a proposal for a patch which includes your change as well as addressing my issue. I'll post it to the mailing-list, and hopefully get some approval :).

I should be able to get to this tomorrow.

As an aside, are you using a better JSON library? or just doing manual parsing of the payload?
                
> Alleviate PluginManager.exec() performance concerns
> ---------------------------------------------------
>
>                 Key: CB-1530
>                 URL: https://issues.apache.org/jira/browse/CB-1530
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Android
>    Affects Versions: Master
>         Environment: Android
>            Reporter: Curtiss Howard
>            Assignee: Joe Bowser
>             Fix For: Master
>
>
> IPlugin and PluginManager use org.json.JSONArray for passing in plugin arguments. When a large JSON object is provided as an argument, performance is very poor as org.json is an eager, in-memory parser. Users should have the ability to bypass PluginManager's automatic JSONArray parsing and instead receive the raw JSON argument string so that a faster JSON library can be leveraged.
> The proposed patch includes an IRawPlugin interface containing an exec() method that takes the raw argument string instead of the pre-parsed one. Any plugin that wants to take advantage of this behavior needs to implement IRawPlugin, so current plugins aren't affected.
> There is a pull request with the proposed change at https://github.com/apache/incubator-cordova-android/pull/49

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira