[
https://issues.apache.org/jira/browse/CB-13559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16247907#comment-16247907
]
Suraj Pindoria commented on CB-13559:
-------------------------------------
Was this tested only on the simulator or on an actual device as well? The
simulator does not provide accurate performance benchmarks so that may also be
why you are seeing this.
> 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: [email protected], [email protected], 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: [email protected]
For additional commands, e-mail: [email protected]