Every time I see some "Power management" and "kernel" in the same sentence, my AMD notebook trembles in fear.
Announcement
Collapse
No announcement yet.
Linux 6.2 Likely To Enjoy Measurable Power-Savings While Idle Or Lightly Loaded
Collapse
X
-
Originally posted by mdedetrich View Post
Wrong once more. If we are talking about Anroid Java at least, it doesn't run JVM but rather compiles to native code. If you download an app from Play store, you download a precompiled binary for architecture and this has been around for at least half a decade. You are not running Java in userspace at all.
But don't let that stop you from posting uninformed dribble.
- Likes 3
Comment
-
Originally posted by marios View Post
This is bullshit and I am not even going to waste my time on proving it. Anyone who can google, can see for themselves.
There have always been rare cases on Android when APKs cannot directly transfer from one device to another, regardless of whether the app is published via APKs or AABs. Specifically, when APKs have been optimized for a device (for example, for a specific chip architecture) then transferring those APKs directly to another device may encounter issues if the target device doesn't match the properties of the original device. In these situations, an APK or set of APKs that are appropriate for the target device need to be installed.
- Likes 2
Comment
-
Originally posted by mdedetrich View PostThe play store has been deploying optimized bundles specific for the architecture for a while now.
- Likes 3
Comment
-
Originally posted by sinepgib View Post
TIL. The last I knew was they were using AOT during install. That doesn't mean it doesn't run on a heavy runtime tho (not sure whether it is heavy or not, just that being AOT doesn't make it not true).
Even that ART is improving a lot since that, there are many by-design deficiencies that a JIT/AOT compiler can improve in many cases but can't optimize entirely as:- All function calls are virtual function calls
- Small objects are placed in the Heap
- Object memory overhead (13 bytes for each object, 30 for strings, etc...)
- Garbage collection pauses
- Lack of inline assembly for extreme hot functions (commonly mitigated by using FFI but with an extra burden on dev)
- Likes 3
Comment
-
Originally posted by juarezr View PostAndroid 4.4/5.0 introduced ART (Android Runtime) that uses AOT (Ahead-Of-Time) at the installation phase instead of JIT (Just-In-Time) at the start/run phase.
Originally posted by juarezr View PostEven that ART is improving a lot since that, there are many by-design deficiencies that a JIT/AOT compiler can improve in many cases but can't optimize entirely as:- All function calls are virtual function calls
- Small objects are placed in the Heap
- Object memory overhead (13 bytes for each object, 30 for strings, etc...)
- Garbage collection pauses
- Lack of inline assembly for extreme hot functions (commonly mitigated by using FFI but with an extra burden on dev)
EDIT: I'm assuming it runs a GC because AFAIR the ART is backwards compatible with Dalvik programs that rely on it.
- Likes 2
Comment
-
Originally posted by juarezr View Post
Android 4.4/5.0 introduced ART (Android Runtime) that uses AOT (Ahead-Of-Time) at the installation phase instead of JIT (Just-In-Time) at the start/run phase.
Even that ART is improving a lot since that, there are many by-design deficiencies that a JIT/AOT compiler can improve in many cases but can't optimize entirely as:- All function calls are virtual function calls
- Small objects are placed in the Heap
- Object memory overhead (13 bytes for each object, 30 for strings, etc...)
- Garbage collection pauses
- Lack of inline assembly for extreme hot functions (commonly mitigated by using FFI but with an extra burden on dev)
Originally posted by sinepgib View PostTIL. The last I knew was they were using AOT during install. That doesn't mean it doesn't run on a heavy runtime tho (not sure whether it is heavy or not, just that being AOT doesn't make it not true).
Point is that Android running bytecode on a virtual machine (i.e. Dalvik) hasn't been happening for like a decade now.Last edited by mdedetrich; 27 October 2022, 07:01 PM.
- Likes 3
Comment
-
Originally posted by mdedetrich View PostWell you are kind of being pedandatic at that point since you can argue that even typical C/Rust programs have a runtime unless you statically link EVERYTHING
*Granted, nowadays they use generational GC which makes it copy much fewer objects.
Originally posted by mdedetrich View Post​Point is that Android running bytecode on a virtual machine (i.e. Dalvik) hasn't been happening for like a decade now.
It's seriously not about being pedantic. Either claim wrt energy waste is unsourced and IMO unjustified based on that. Does it drain a lot? I don't know. Does it NOT drain a lot? I don't know either. I haven't seen a comparison. Certainly it must be better than regular usage of Java, but not necessarily by that much. My guesstimate would be that it's rather good FWIW. I'd like to see if there's any comparison of average power consumption between iPhones (Swift user space, IIRC reference counted so with a relatively light runtime, and binary) and Android to get a better idea of this.
EDIT: of course, unless any difference is HUGE the comparison would be worthless, different hardware and all.Last edited by sinepgib; 27 October 2022, 07:56 PM.
- Likes 2
Comment
Comment