They don’t seem to be getting any faster, for about the last 4 years.
Samsung Galaxy Tab S T705 8.4 (2014)
Samsung Galaxy Tab S3 (2017)
Samsung S9 phone (2018)
It is true that the vast majority of phone or tablet apps don’t involve massive processing within the app i.e. the bits which do involve heavy processing (e.g. graphics, media playback) are done by the OS. Even camera apps – both vendor and 3rd party ones – are no more than control panels for the camera API and all the image processing is done by the OS, and for the best user experience this tends to be well optimised. So even the T705 can play HD video at 60fps perfectly.
But there are a few apps which do need raw power. One I use is the Golze ADL app which can take many seconds to render the radar image. This runs a lot faster on an Ipad, which could well be due to Android running a Java executable on a Java interpreter, whereas IOS runs the binary executable.
One of a number of reasons I am using an Android tablet (the T705) is that it is the only one I have ever used that never shuts down due to overheating.
Performance growth has indeed been slowing down in recent years, and not only in tablets, but in desktop PCs as well; nevertheless, it’s still faster than it seems, as the performance per MHz of clock frequency has been increasing. In particular, the new generation of ARM architecture (used in the vast majority of tablets) has a word length of 64 bits instead of 32 in the previous one.
For specific figures, look e.g. at www.cpubenchmark.net.
A part of my point was that the current phone is more than 2x faster than the current tablet
Presumably a Java app will run a bit faster on a 64 bit core than on a 32 bit core, but maybe not as much faster than when doing the same thing with native binary apps, written and recompiled for 64 bits, which tend to run 2x to 3x faster (on a PC, at least).
Peter wrote:
which could well be due to Android running a Java executable on a Java interpreter
Android’s JVM is likely to JIT compile to native code. The old saw that “Java is slow” hasn’t really been true since at least the early 2000s for well written code.
(Android’s JVM has other annoying oddities, though, which tend to catch you out if you’re used to the OpenJDK).
I think the market for tablets has disappeared. There is nothing you can do on a tablet that you cannot do on a phone, and everybody needs a phone. If you want a larger screen, then a keyboard is also handy, or you might as well get a smart TV (with Android) or Chromecast or both. Chromebooks also runs Android apps these days. Last time I looked, only Samsung is left making high end tablets, but there are millions of super cheap low end tablets.
I am very happy with my S3 Tablett. Looking at running high end stuff, I have run Aero fly 1 on it and it is more than fast enough. I also like the fact it came with a keyboard so I can work like on my laptop but at massively less volume and weight. I also like it for reading books. Now that even Ms Office works on these my travel bag has become much lighter.
On my phone things are more cumbersome. Smaller, less user-friendly and less battery capacity.
Android’s JVM is likely to JIT compile to native code. The old saw that “Java is slow” hasn’t really been true since at least the early 2000s for well written code.
I have never programmed in Java but surely an app which is supposed to run in a Java VM cannot compile to native code, because that defeats the whole point of Java.
Obviously any calls to the OS will run in native code; same goes for VMs such as VMware and that is the main reason why VMs are not as slow as one might expect.
Current Android is all ARM-based AFAIK so one could compile such an app to native code, but would that really run? It would defeat all the security features of the OS.
ART uses the ahead-of-time compilation model which compiles the apps to machine code upon installation
@Peter, a VM can run native code, but it runs it sandboxed. Most modern CPU have hardware hooks for virtualisation, which minimise the overhead.
By the way, not all Android systems are ARM-based. I have a dual-boot Intel Atom tablet with Android and Windows.
Interesting… I didn’t know that android can run native code. I recently spoke to one app developer who told me that android’s inability to do this is why the IOS version of his app runs a lot faster (and it does).