You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Daniel Kurka <ku...@gmail.com> on 2012/09/21 17:57:24 UTC

Performane in FileAPI

Hello everyone,

in several situations I got frustrated with the performance of the phonegap File API. For some time we have used XHR as a replacement for FileReader within phonegap apps.
I would really like to see the IO performance of phonegap to improve.
First step in that way might be to use XHR instead of the bridge.

To get this started I talked with Brian at Phonegap Day EU and he decided the best way to do this is to actual get some data first, this is what CB-1478 is about.
So far it seems that we can make a major improvement on Android, BB. (other still need testing though)

As Filip already pointed out some kind of benchmark should go into CI, so that we will not regress at any point. What could I do about that?
Simon already proposed a patch which might work, but I wanted to get some feedback on this first (https://github.com/macdonst/incubator-cordova-js/commit/4c0134b827386d028f53370b3f5006b222939e26)

So what do you guys think what the best way forward is?

-Daniel




Re: Performane in FileAPI

Posted by Brian LeRoux <b...@brian.io>.
+1

A place for benchmarks is a great start. There's a few obvious things
we'll want to measure (the bridge, file i/o) but I imagine other
things will start coming to mind like initialization and
resume/cleanup performance.

Created a JIRA issue for CordovaJS for it.

https://issues.apache.org/jira/browse/CB-1528


On Sat, Sep 22, 2012 at 4:39 PM, Andrew Grieve <ag...@chromium.org> wrote:
> I'd love to see this benchmark checked into mobile-spec.
>
> Probably we should create a sub-page for benchmarks, just like there is for
> Automated Tests.
>
>
> On Sat, Sep 22, 2012 at 10:20 AM, Simon MacDonald <simon.macdonald@gmail.com
>> wrote:
>
>> Here's my two cents. The current bridge in 2.0/2.1 is much slower than what
>> we are now defaulting to in the upcoming 2.2 release. That change improves
>> the FileReader performance greatly. However, switching to XHR speeds things
>> up by an order of magnitude. Using my quick patch the FileReader passes all
>> mobile spec test cases except the error conditions which need to be
>> converted. It looks like a major win for android if we make the switch.
>>
>> Folks on other platforms should run your benchmark to see if there is a
>> similar improvement and then run my patch through mobile spec to see of
>> there are any failures.
>>
>> With regards to CI yes we really do need this but I don't think we can set
>> it up in time to test this issue.
>>
>> Going back to hacking the camera now and I'll get off my soapbox.
>>
>> Simo
>>
>> On Friday, September 21, 2012, Daniel Kurka wrote:
>>
>> > Hello everyone,
>> >
>> > in several situations I got frustrated with the performance of the
>> > phonegap File API. For some time we have used XHR as a replacement for
>> > FileReader within phonegap apps.
>> > I would really like to see the IO performance of phonegap to improve.
>> > First step in that way might be to use XHR instead of the bridge.
>> >
>> > To get this started I talked with Brian at Phonegap Day EU and he decided
>> > the best way to do this is to actual get some data first, this is what
>> > CB-1478 is about.
>> > So far it seems that we can make a major improvement on Android, BB.
>> > (other still need testing though)
>> >
>> > As Filip already pointed out some kind of benchmark should go into CI, so
>> > that we will not regress at any point. What could I do about that?
>> > Simon already proposed a patch which might work, but I wanted to get some
>> > feedback on this first (
>> >
>> https://github.com/macdonst/incubator-cordova-js/commit/4c0134b827386d028f53370b3f5006b222939e26
>> > )
>> >
>> > So what do you guys think what the best way forward is?
>> >
>> > -Daniel
>> >
>> >
>> >
>> >
>>
>> --
>> Simon Mac Donald
>> http://hi.im/simonmacdonald
>>

Re: Performane in FileAPI

Posted by Andrew Grieve <ag...@chromium.org>.
I'd love to see this benchmark checked into mobile-spec.

Probably we should create a sub-page for benchmarks, just like there is for
Automated Tests.


On Sat, Sep 22, 2012 at 10:20 AM, Simon MacDonald <simon.macdonald@gmail.com
> wrote:

> Here's my two cents. The current bridge in 2.0/2.1 is much slower than what
> we are now defaulting to in the upcoming 2.2 release. That change improves
> the FileReader performance greatly. However, switching to XHR speeds things
> up by an order of magnitude. Using my quick patch the FileReader passes all
> mobile spec test cases except the error conditions which need to be
> converted. It looks like a major win for android if we make the switch.
>
> Folks on other platforms should run your benchmark to see if there is a
> similar improvement and then run my patch through mobile spec to see of
> there are any failures.
>
> With regards to CI yes we really do need this but I don't think we can set
> it up in time to test this issue.
>
> Going back to hacking the camera now and I'll get off my soapbox.
>
> Simo
>
> On Friday, September 21, 2012, Daniel Kurka wrote:
>
> > Hello everyone,
> >
> > in several situations I got frustrated with the performance of the
> > phonegap File API. For some time we have used XHR as a replacement for
> > FileReader within phonegap apps.
> > I would really like to see the IO performance of phonegap to improve.
> > First step in that way might be to use XHR instead of the bridge.
> >
> > To get this started I talked with Brian at Phonegap Day EU and he decided
> > the best way to do this is to actual get some data first, this is what
> > CB-1478 is about.
> > So far it seems that we can make a major improvement on Android, BB.
> > (other still need testing though)
> >
> > As Filip already pointed out some kind of benchmark should go into CI, so
> > that we will not regress at any point. What could I do about that?
> > Simon already proposed a patch which might work, but I wanted to get some
> > feedback on this first (
> >
> https://github.com/macdonst/incubator-cordova-js/commit/4c0134b827386d028f53370b3f5006b222939e26
> > )
> >
> > So what do you guys think what the best way forward is?
> >
> > -Daniel
> >
> >
> >
> >
>
> --
> Simon Mac Donald
> http://hi.im/simonmacdonald
>

Re: Performane in FileAPI

Posted by Simon MacDonald <si...@gmail.com>.
Here's my two cents. The current bridge in 2.0/2.1 is much slower than what
we are now defaulting to in the upcoming 2.2 release. That change improves
the FileReader performance greatly. However, switching to XHR speeds things
up by an order of magnitude. Using my quick patch the FileReader passes all
mobile spec test cases except the error conditions which need to be
converted. It looks like a major win for android if we make the switch.

Folks on other platforms should run your benchmark to see if there is a
similar improvement and then run my patch through mobile spec to see of
there are any failures.

With regards to CI yes we really do need this but I don't think we can set
it up in time to test this issue.

Going back to hacking the camera now and I'll get off my soapbox.

Simo

On Friday, September 21, 2012, Daniel Kurka wrote:

> Hello everyone,
>
> in several situations I got frustrated with the performance of the
> phonegap File API. For some time we have used XHR as a replacement for
> FileReader within phonegap apps.
> I would really like to see the IO performance of phonegap to improve.
> First step in that way might be to use XHR instead of the bridge.
>
> To get this started I talked with Brian at Phonegap Day EU and he decided
> the best way to do this is to actual get some data first, this is what
> CB-1478 is about.
> So far it seems that we can make a major improvement on Android, BB.
> (other still need testing though)
>
> As Filip already pointed out some kind of benchmark should go into CI, so
> that we will not regress at any point. What could I do about that?
> Simon already proposed a patch which might work, but I wanted to get some
> feedback on this first (
> https://github.com/macdonst/incubator-cordova-js/commit/4c0134b827386d028f53370b3f5006b222939e26
> )
>
> So what do you guys think what the best way forward is?
>
> -Daniel
>
>
>
>

-- 
Simon Mac Donald
http://hi.im/simonmacdonald