On Fri, Oct 9, 2015 at 12:43 PM, Michael Zanetti <michael.zane...@canonical.com> wrote: > > > On 09.10.2015 11:49, Pete Woods wrote: >> >> >> On Thu, Oct 8, 2015 at 12:41 PM, Thomas Voß <thomas.v...@canonical.com >> <mailto:thomas.v...@canonical.com>> wrote: >> >> On Thu, Oct 8, 2015 at 1:36 PM, Michi Henning >> <michi.henn...@canonical.com <mailto:michi.henn...@canonical.com>> >> wrote: >> >> you can indeed build apps in C++ if you want, but C++ is more complex >> to >> >> understand and write (if you ever did a dynamic web page in your life >> >> you likely know the basics of js). C++ needs a (cross) compile >> >> environment set up while js means you can just dump a txt (well, .qml) >> >> file in place and it just works. Doing C++ is just a lot more work and >> >> while you can use C++ I think people find it easier to simply use js >> (I >> >> surely do, i can write a ready made QML app including rolling the >> click >> >> and uploading it to the store with a plain text editor within 20min, I >> >> (personally) cant do that in C++)) ... >> > >> > Writing a dynamic web page in C++ is a bit like writing a neural >> network in COBOL. Don't. >> > >> > Would I write a device driver in JS? Probably not. >> > >> > Would I try to tighten a Phillips head screw with a nail file? >> Probably not either. >> > >> > I think you get the drift… :-) >> > >> >> +1 :) >> >> Please note that qml and c++ components are happily mixed together >> with QML/Qt. If there is a serious performance issue with using pure >> QML, >> falling back to C++ is always possible. >> >> >> Remember everyone, that Android apps launch pretty quickly, and they are >> Java based >> (and were only natively compiled with the release of Lollipop's ART). >> >> This is achieved through the use of a "Zygote" process and some clever >> copy-on-write >> page management (I *think* using special kernel patches). There is always a >> pre-warmed instance of the JVM ready, and it is forked each time a new >> app / service >> wants to launch. The page copy-on-write behaviour allows a new JVM >> instance to be >> spawned with almost no effort to the phone (you only copy the memory if >> you alter the >> Java runtime libs in some way, which is uncommon) and comes with large >> memory savings. >> >> The summary of what I'm saying is the old adage "there are no slow >> programming languages, >> only slow programs". I think a lot of our app launch speed troubles >> could be alleviated by >> employing the same techniques that Google does. The answer to >> performance issues >> is rarely to "switch programming language", assuming you're using a >> language that at >> least has a JIT compiler. >> > > FWIW, Benjamin is experimenting with MeeGo's applauncherd/booster, which > in principle does pretty much what you're describing. First tests do > suggest that it does improve the situation quite a bit. Details still to > be ironed out tho. >
where "details" are actual security issues that we have to solve prior to even start benchmarking :) The difficulty is _not_ in keeping a set of pre-warmed processes around to make app startup a rolling start. But implementing a solution that is both secure *and* provides significant improvements of app-startup time. Cheers, Thomas > Br, > Michael > > > -- > Mailing list: https://launchpad.net/~ubuntu-phone > Post to : ubuntu-phone@lists.launchpad.net > Unsubscribe : https://launchpad.net/~ubuntu-phone > More help : https://help.launchpad.net/ListHelp > -- Mailing list: https://launchpad.net/~ubuntu-phone Post to : ubuntu-phone@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-phone More help : https://help.launchpad.net/ListHelp