Jump to content

Comparison between binary translation and native x86 code


Guest kallt_kaffe

Recommended Posts

Guest kallt_kaffe

I did a little expirement with the Epic Citadel app as it contains both native ARM and native x86 code. I made one APK with only native x86 code and one with only native ARM code and ran the benchmark once for each version. The result was that the version with native x86 code that did not have to rely on the binary translation (ARM to x86 code translation done on-the-fly by the libhoudini lib) resulted in a more than 40% better benchmark result than then version that relied on binary translation.

Some more info about the tests and screenshots here: http://blog.apedroid.com/2013/05/binary-translation-vs-native-x86-code.html

Link to comment
Share on other sites

Guest kallt_kaffe

Asfaik the only way is to check the .apk file. Open it with your favorite zip-utility and check the lib folder. If only contains a armeabi-something folder then it only has native ARM code. If it also contains an x86 folder then it has native x86 code. If it does not have a lib folder at all then it doesn't use any native code so ARM or x86 won't matter.

However since there is no known way to root the Fonepad you cannot pull the apk's from it so you'll have to download the apps on a rooted device and "steal" the them from /data/app/ if you want to have a look at them.

I suppose there may be some clues in the log when starting apps that uses binary translation. I haven't looked but I suppose it could be possible to detect it with "adb logcat". Anyone tried it?

Short answer: No, there's no easy way that I know of.

Link to comment
Share on other sites

Guest kallt_kaffe

If you are familiar with adb then you can run this:

shell@android:/ $ logcat |busybox grep houdini

When you start an app that uses binary translation it will print this:

D/houdini ( 7945): [7945] Loading library(version: 3.1.3.43168 RELEASE)... successfully.

Apps that I tried that uses binary translation: Netflix, Max Payne, Daddy as a thief, Spotify.

If unsure which app trigger the lib then you can run the "ps" command and match the PID with the app the used the lib.

Example: http://blog.apedroid.com/2013/05/how-to-check-if-app-uses-binary.html

Link to comment
Share on other sites

  • 2 weeks later...
Guest aleckxander

I'd love to buy this device, but, sadly, it seems like the community do not like intel processors a lot; this is easily translated into no easy root, recovery, roms, etc...

Hopefully now that the asus note 6.0 has been announced and still equipped with an intel CPU, developers will give some more love to the fonepad too ;)

by the way Kallt_kaffe (that i used to love some years ago due to the zte blade, that i still use ;) ) underlines interesting stuff. My question is.. what is going to affect this loss of benchmark performance. Battery life? start up time of the application? or the apps will run simply slower?

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.