You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Tim Hambourger (JIRA)" <ji...@apache.org> on 2017/11/09 22:36:01 UTC

[jira] [Updated] (CB-13559) Poor performance and crashes marshalling large ArrayBuffers from JS to Native side on iOS

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

Tim Hambourger updated CB-13559:
--------------------------------
    Attachment: iOS Exec timeline.png

> Poor performance and crashes marshalling large ArrayBuffers from JS to Native side on iOS
> -----------------------------------------------------------------------------------------
>
>                 Key: CB-13559
>                 URL: https://issues.apache.org/jira/browse/CB-13559
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-ios
>    Affects Versions: cordova-ios@4.4.0, cordova-ios@4.3.0, cordova-ios 4.5.0
>         Environment: iOS 10.3 Simulator
> Using cordova-plugin-wkwebview-engine
>            Reporter: Tim Hambourger
>            Assignee: Suraj Pindoria
>            Priority: Critical
>         Attachments: iOS Exec timeline.png
>
>
> I'm doing performance analysis on an application that's attempting to write an approx. 10 MB Blob to disk using the File plugin. The uint8ToBase64 function called by iOSExec looks like a particular bottleneck. I'm seeing large memory increases followed by GCs taking approx 1.5 secs. The attached screenshot has a typical Safari timeline.
> After some initial testing, it looks like re-implementing uint8ToBase64 using String.fromCharCode and window.btoa, rather than string appending, might yield some improvements. Some alternate implementations at [https://github.com/github-tools/github/issues/137] and [https://stackoverflow.com/questions/9267899/arraybuffer-to-base64-encoded-string].
> Is this something you would consider taking a look at? We're also weighing strategies to reduce our file size and the frequency of our writes, but a platform-level fix would be a huge help.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org