Ten Pan z kolei nie zrozumiał aluzji.
Bardzo dziękuję za obiektywną ocenę mojej wiedzy.
Bardzo dziękujemy za aluzję która mogła by iść dalej do kodu maszynowego i w ogóle tu nie miała miejsca bytu. Zresztą zamiast straszyć amatorów programowania "assemblerem", lepiej im odradzić pisać na Androida dopóki przez jakiś czas nie będą się swobodnie czuli pisząc kalkulator na PC. Pisanie aplikacji na Androida nie jest skomplikowane, lecz wymaga znajomości paru paradygmatów, inaczej człowiek będzie zestresowany zastanawiał się czemu "taka prosta rzecz została tak masakrycznie skomplikowana". Nie zapominajmy od czego zaczął się ten wątek.
Wracając na chwilę do offtopu...
Jeśli nie zgadzasz się z opinią to krytykuj stanowisko a nie autora.
Bez sensu, ja staram się nie wypowiadać jeśli się na czymś nie znam, a jeśli jednak, to zaznaczam że mogę się mylić albo przyjmuję krytykę.
Moja riposta dotyczyła ogólnego stwierdzenia "wiele większą wydajność" które poza wyjątkowymi sytuacjami jest nieprawdą. Tak jak pisze się wstawki do Javy w C++, tak i do C++ mozna w Asmie, jednak tego ostatniego się nie stosuje zbyt często bo współczesne kompilatory są *wystarczająco* dobre w optymalizacji. Pamiętam kilka lat temu wpis na jakimś blogu jak gość optymalizował sortowanie i uzyskał w nim kilkukrotne przyspieszenie ale 1) spedził nad tym czasu trochę 2) optymalizacja reszty kodu nie miała sensu bo tam wzrost wydajności byłby pomijalny. Pisanie ręczne Asma dowolnej sekcji kodu zawsze będzie wydajniejsze, jednak trzeba pamiętać o tym "pomijalnym wzroscie wydajnosci". Ergo moje oburzenie.
Gry komputerowe to inna bajka tam niemal wszystko jest robione inaczej.
A teraz za ten głos rozsądku:
Wreszcie jeden dość oczywisty, ale często pomijany fakt - tak długo jak program działa wystarczająco wydajnie, wydajność nie ma znaczenia.
WIELCE dziękuję 🙂
Polecam:
http://en.wikipedia.org/wiki/Program_optimization#Automated_and_manual_optimization
http://en.wikipedia.org/wiki/Pareto_principle
http://en.wikipedia.org/wiki/Java_performance#Java_Native_Interface
http://developer.android.com/sdk/ndk/overview.html
So, putting intellectual effort into optimizing just a small part of the program can have a huge effect on the overall speed - if the correct part(s) can be located.
The Java Native Interface has a high overhead associated with it, making it costly to cross the boundary between code running on the JVM and native code.
When to Develop in Native Code
The NDK will not benefit most applications. As a developer, you need to balance its benefits against its drawbacks; notably, using native code does not result in an automatic performance increase, but always increases application complexity. In general, you should only use native code if it is essential to your application, not just because you prefer to program in C/C++.