News for hackers. Stuff that matters.
Re:A performance comparison between Java and C on the Nexus 5 by lhl on Monday April 14, 2014 @10:31AM (#7586353)
While I'm sure Dalvik contributes, Android has had many more serious issues in terms of user responsiveness.

* Android devices have very laggy touch responsiveness in general, while this is something Apple has spent considerable effort optimizing [1]

* Only in recent revisions (Project Butter [2]) has Android made significant improvements to its general UI lag/smoothness issues. At various times, Google employees have gone into extensive descriptions of why the UI is so janky [3][4]

* Many of the default Android elements were for quite a long time, very unoptimized - this included calls w/ lots of overdraw, or lack of node recycling for lists. This forced app developers to take on the bulk of performance optimization. You can take a guess how often that is done well. [5]

Over time, Android the OS, SDK/API, tools have all improved but I believe your second paragraph gets it right. At the end of the day, people at Apple cared a lot about getting the first versions of iOS to feel great. No one at Google cared enough about about it. Even today, when you compare the iPhone to the latest Nexus devices, there's lots of hardware integration issues that will probably never get fixed (outside of community patches).

[1] http://venturebeat.com/2013/09/19/apples-iphone-5-touchscree...

[2] http://www.androidpolice.com/2012/07/12/getting-to-know-andr...

[3] https://plus.google.com/105051985738280261832/posts/2FXDCz8x...

[4] http://lazytechguys.com/news/google-dev-explains-why-android...

[5] http://www.curious-creature.org/2012/12/01/android-performan...

Re:A performance comparison between Java and C on the Nexus 5 by kllrnohj on Monday April 14, 2014 @02:14PM (#7587816)
[1] The Android code for that test is messed up, and suffers from a race condition and isn't tied to vsync like a normal Android app is. There's a pull request on their github page to fix it, but they haven't accepted it. Regardless, this is a hardware thing not a software one. Apple uses very, very good touch screens. The Nexus 5 also has a really good touch screen, with total touch-to-display latency in the 60ms range.

[4] is total horseshit. He doesn't know squat about any of the platforms. iOS devs also called him out for getting just about everything wrong about how iOS works.

[5] is something iOS devs totally also have to do as well. That is so not an Android-specific thing.

Re:A performance comparison between Java and C on the Nexus 5 by asveikau on Monday April 14, 2014 @11:18AM (#7586630)
> [4] http://lazytechguys.com/news/google-dev-explains-why-android...

Man that was a weird read. Guy spends a few months interning and all of a sudden talks about his profound connection to the campus, the fundamental flaws in the product architecture, but watch out! He may be biased since he will be interning on a competing product the next summer!

Regardless of the facts of the matter this seems like a very non-authoritative source.

Re:A performance comparison between Java and C on the Nexus 5 by magicalist on Monday April 14, 2014 @01:20PM (#7587480)
It's like no one actually reads Dianne Hackborn's post (#3 above), which was in direct response to that guy's musings going viral when he had no idea what he was talking about.

edit: oops, that was the post that sparked the original specious musings. I meant this followup one: https://plus.google.com/105051985738280261832/posts/XAZ4CeVP...

Re:A performance comparison between Java and C on the Nexus 5 by asveikau on Monday April 14, 2014 @01:28PM (#7587538)
What drew me to #4 was the baiting headline (Google dev explains...)
Re:A performance comparison between Java and C on the Nexus 5 by simmons on Monday April 14, 2014 @11:18AM (#7586628)
From my experience with working on Android internals, I also get the impression there is a ridiculous amount of IPC happening during normal operation, much of which involves Dalvik components (such as the activity manager) as intermediaries. I've sometimes wondered if this could contribute to a noticeable performance degradation.

Quantifying this IPC might make an interesting experiment and blog post...

Re:A performance comparison between Java and C on the Nexus 5 by hackcasual on Monday April 14, 2014 @11:50AM (#7586869)
The IPC implementation is Binder, and I believe the overhead, even in the G1 days was microseconds.
Re:A performance comparison between Java and C on the Nexus 5 by simmons on Monday April 14, 2014 @12:48PM (#7587245)
Binder itself is very fast. I'm mostly thinking about the overhead of higher-level constructs build on top of binder (broadcast intents, etc.) that are handled in Dalvik code and that can become numerous as various apps make connections to various other apps.
Re:A performance comparison between Java and C on the Nexus 5 by mdwrigh2 on Tuesday April 15, 2014 @02:03AM (#7590502)
> lack of node recycling for lists

Adapter#getView[1] has been around since API 1, which is used in ListView (as well GridView, etc.) to recycle view nodes.

[1]: http://developer.android.com/reference/android/widget/Adapte..., android.view.View, android.view.ViewGroup)

Re:A performance comparison between Java and C on the Nexus 5 by thrownaway2424 on Tuesday April 15, 2014 @12:39AM (#7590330)
Interesting post. I would throw in a social angle. Android will suffer from UI lag until it's scrapped and rewritten, because its early development was heavily influenced by Romain Guy, a developer who was a huge proponent of Swing and who actually thought that JavaFX was a good idea. This is a person who has basically never seen a responsive UI and cannot understand what makes Android "laggy" at a deep level. Some of your other links show that Android is pretty long on people who will write long defensive blog posts, short on people who can make efficient, responsive graphics stacks.

Social problem, basically.

Re:A performance comparison between Java and C on the Nexus 5 by agumonkey on Tuesday April 15, 2014 @08:58AM (#7591530)
Even post 4.1 isn't smooth enough for you ? Project butter was a great leap forward to me, and it seems romain guy was involved in it

https://www.google.com/search?q=romain+guy+project+butter

Re:A performance comparison between Java and C on the Nexus 5 by zht on Monday April 14, 2014 @04:27PM (#7588668)
[4] was a post written by a QA intern on a different team. His post was thoroughly debunked by Dianne. I know the guy in person and he is a general loud mouth who never hesitates to spew nonsense about topics that he knows nothing about.