Hi,
How can the performance of Android applications be improved (and at the same time help to reduce battery consumption)? I have seen some graphs/benchmarks where the performance on simple calculations (which can just give an idea about the whole performance side) was about 20X less effective than if it were written with NDK (Native code).
That makes me think that to achieve a task (in case it is a pure calculation app) it would drain roughly 20X more battery than if it were a native application. Then again, they say JIT compilation is coming to the Android VM, but even if it increases the performance by 10 (which is unlikely, at least in the first versions) the application will still be wasting cycles (and thus draining the battery faster than it could in an optimal configuration).
That's one advantage I see Iphone platform has over Android. I like Android (and don't agree with Apple closed platform paradigm), don't get me wrong, but I would like to know what the engineers at Google are working on to solve that problem.
Would it be possible to (when installing the application) to choose if I can store the application in "Native code" by passing the bytecodes and VM? It would take a lot of time for compiling, but just when installing and then after that I would have that application highly optimised.
If the hardware were more homogeneous (just like the Iphone platform), that "compilation" could be done on the server side, when selecting the application to be downloaded, but we should choose which is the target device (or it could be captured from the "user agent" automagically).
As you already know, I don't know the answer, but I think things have to change on that field.
What do you guys think?
Cheers
How can the performance of Android applications be improved (and at the same time help to reduce battery consumption)? I have seen some graphs/benchmarks where the performance on simple calculations (which can just give an idea about the whole performance side) was about 20X less effective than if it were written with NDK (Native code).
That makes me think that to achieve a task (in case it is a pure calculation app) it would drain roughly 20X more battery than if it were a native application. Then again, they say JIT compilation is coming to the Android VM, but even if it increases the performance by 10 (which is unlikely, at least in the first versions) the application will still be wasting cycles (and thus draining the battery faster than it could in an optimal configuration).
That's one advantage I see Iphone platform has over Android. I like Android (and don't agree with Apple closed platform paradigm), don't get me wrong, but I would like to know what the engineers at Google are working on to solve that problem.
Would it be possible to (when installing the application) to choose if I can store the application in "Native code" by passing the bytecodes and VM? It would take a lot of time for compiling, but just when installing and then after that I would have that application highly optimised.
If the hardware were more homogeneous (just like the Iphone platform), that "compilation" could be done on the server side, when selecting the application to be downloaded, but we should choose which is the target device (or it could be captured from the "user agent" automagically).
As you already know, I don't know the answer, but I think things have to change on that field.
What do you guys think?
Cheers