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

Andrew Grieve commented on CB-638:
----------------------------------

What an excellent time to ask for an update! I've got some fresh measurements 
to share.

All of the modes are already checked in to the main repo, but I've got several 
local tweaks & changes (mostly for online events) that I'm holding off merging 
until 2.1.0 is out the door. You can see them here:

https://github.com/agrieve/incubator-cordova-js/commits/navigatorconn
https://github.com/agrieve/incubator-cordova-android/commits/exec

Timings from today: 
https://docs.google.com/spreadsheet/ccc?key=0Aq9kFRDB1QGhdEtZZENBMThLSDdRUVJfRUFzVW5LSVE#gid=0

The updated todo list is:
 * Make the native side set the online state to on/off on start-up just in case 
it one day doesn't default to ON at start-up.
 * Make poll retrieve all pending messages instead of one-at-a-time.
 * Make poll retrieve a list of callback responses that it can pass to 
cordova.callbackSuccess/callbackFailure directly (to save on eval() cost)
 * Use a thread-pool in PluginManager instead of spinning up a new thread every 
time
 * Redo benchmarks

Updates on my thinking:
 * LOCATION_CHANGE is not faster for the async case (I wasn't thinking straight 
when I said this), it is faster only for calls that have no return values.
   * Due to the way exec always requires a callback (either win or fail), this 
never applies!
   * It could be made to work if we faked the success callback from JS and 
update all platforms to not send the OK from native code. This is not worth the 
effort.
 * Adding fail-safe logic for PRIVATE_API is probably not worth it, as it 
currently looks like ONLINE_EVENTS is just as fast (and maybe faster after more 
optimizing). Let's not use it if there's no big win.



                
> Slow native bridge (especially android)
> ---------------------------------------
>
>                 Key: CB-638
>                 URL: https://issues.apache.org/jira/browse/CB-638
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Android
>            Reporter: Lee Crossley
>            Assignee: Andrew Grieve
>            Priority: Critical
>              Labels: 2.1.0
>
> Doing many native callbacks (such as writing files) has a significant 
> overhead.
> Trigger.io's native bridge is more than 5 times faster than Cordova (on 
> Android). 
> http://trigger.io/cross-platform-application-development-blog/wp-content/uploads/2012/02/chart_1-21.png
> I'd love to see similar performance stats in Cordova.

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

Reply via email to