Android 64bit,32bit谁更快?

news/2024/4/24 5:53:11/

这里说的64bit,32bit并不是指cpu

对于cpu来说64bit比32bit快,甚至更省电这应该已经是共识了,64bit拥有更多的寄存器,更大的位宽,更大的总线,当然更快,比如armv8有31个通用寄存器,位宽64bit,48位的寻址空间,armv7只有15个通用寄存器,位宽32bit,虽然寻址空间不是绝对的32位,但是64bit cpu更快是毋庸置疑的,特别是对大量计算的情况比如图片处理,3d游戏,声音人脸识别等等。
64bit处理器在移动端等越来越主流,ios, android等os都相继支持了64bit cpu。
但为了兼容之前的32bit生态系统,64bit cpu/os都选择了兼容32bit模式,不过以后ios/android会慢慢收紧,往64bit only的方向收紧,ios 11已经不接受32bit应用程序,android也计划在2019年8月开始在生态系统内排出32bit应用程序。
https://android-developers.go...
(需要翻墙)
64-bit support requirement in 2019

Platform support for 64-bit architectures was introduced in Android 5.0. Today, over 40% of Android devices coming online have 64-bit support, while still maintaining 32-bit compatibility. For apps that use native libraries, 64-bit code typically offers significantly better performance, with additional registers and new instructions.

In anticipation of future Android devices that support 64-bit code only, the Play Console will require that new apps and app updates with native libraries provide 64-bit versions in addition to their 32-bit versions. This can be within a single APK or as one of the multiple APKs published.

We are not removing 32-bit support. Google Play will continue to support 32-bit apps and devices. Apps that do not include native code are unaffected.

This change will come into effect in August 2019. We're providing advance notice today to allow plenty of time for developers who don't yet support 64-bit to plan the transition. Stay tuned for a future post in which we'll take an in-depth look at the performance benefits of 64-bit native libraries on Android, and check out the CPUs and Architectures guide of the NDK for more info.

但是现阶段,android os还是32bit/64bit共存的状态。

这里想讨论的或者疑问是在64bit cpu上是android 32bit runtime快还是64bit runtime快?

没有理论依据就是看问题的时候突发奇想,做了如下实验:
通过BitmapFactory的decode函数解码一张3024x4032的色彩较丰富的一张图片,大概6M,循环1000次,分别让测试apk运行在32bit和64bit运行时,然后取解码时间平均值进行比较
1.测试函数BitmapFactory.decode(“/sdcard/pic.jpg”); 执行1000次记录每次的解码时间
2.测试平台sdm845, android 8.1 框架:skia, libjpegturbo
3.查看apk运行时的是64bit还是32bit的方法:
先看你的apk的进程的父亲pid,再看这个父亲是谁zygote或者zygote64就ok了
root 1039 1 1618000 45868 0 0 S zygote
u0_a43 1892 1039 2026088 207828 0 0 S com.android.systemui
u0_a43 2465 1039 1986128 158904 0 0 S com.android.systemui:recents
u0_a149 2733 1039 1839736 46328 0 0 S com.tencent.mobileqq:MSF

测试结果:

32bit runtime解码平均时间:236ms
64bit runtime解码平均时间:246ms

32bit runtime faster?
可能一个实验并不能说明什么问题,有待深入研究。


http://www.ppmy.cn/news/444635.html

相关文章

Centos升级gcc4.9 yum install devtoolset-3-gcc 出现 Requires: libmpfr.so.1()(64bit)和libgmp.so.3()(64bit)

报错信息 [rootlocalhost SPECS]# yum -y install devtoolset-3-gcc Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile* base: mirror.compevo.com* centos-sclo-rh: mirrors.163.com* centos-sclo-sclo: mirrors.163.com* elrepo: mir…

Linux中出现libc.so.6(GLIBC_2.14)(64bit) is needed by...的解决办法

原因是因为系统的glibc版本不符合安装要求,可以对glibc进行升级。 下载响应安装包:http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz。 解压: tar xvf glibc-2.14.tar.gz进入glibc-2.14目录:cd glibc-2.14创建build文件夹&#x…

sql server windows nt 64bit 内存占用过高解决办法

sql server windows nt 64bit 内存占用过高解决办法 内存居高背景软件运行环境参数内存占用居高不下内存高占用竟然降下去了降内存的办法 内存居高背景 本人业余从事淘宝客研究,是一个误入技术领域的非专业技术人员,业余时间用:asp.netsql s…

解决Desktop Qt5.12.1 MSVC2015 64bit kits不识别

解决与探究 主要是为了解决Qt 编译器中MSVC不可使用问题, 逻辑上来说我们装了Qt使用MSVC编译器, 这里以VS2015 Qt5.12.1为例, 当我们装完Qt后, 我们可以先测试一个输出Hello World demo, 查看Manage Kits 正常来说会…

TortoiseGit-2.8.0.0-64bit.msi 安装和Github使用

原文地址:https://blog.csdn.net/Night2233/article/details/89304835 下载地址 https://tortoisegit.org/download/ 安装 选择Git安装目录下的Git.exe,一般在c://program files/Git/bin目录下。 在官网下载并安装PuTTYgen,百度搜PuTTYgen…

clickhouse安装 Requires: libstdc++.so.6(GLIBCXX_3.4.19)(64bit)

问题描述: centos 用如下命令安装clickhouse时 yum install -y clickhouse-server clickhouse-client 报错: --> Running transaction check ---> Package clickhouse-client.x86_64 0:19.8.3.8-1.el7 will be installed ---> Package cli…

Android 64 bit的一些兼容性分析

阅读原文 摘要: Android 64 bit系统的一些兼容性分析 0x0:前言 Android L之后android开始了支持64bit的系统,现在64位的手机越来越多,基本上现在出的新机都是64位的了,所以64位将会是一个趋势,但是对于对于开发者来说&…

32bit 和 64bit系统的区别

转载地址:http://www.cnblogs.com/ggjucheng/archive/2011/12/15/2288919.html 前言 32位和64位系统在计算机领域中常常提及,但是仍然很多人不知道32位和64位的区别,所以本人在网上整理了一些资料,并希望可以与大家一起分享。对于…

【Qt/MSVC2015 64bit】环境搭建

祸害完了MinGW了,突然间想试试QtWebEngine模块QtWebEngineCore模块,MinGW不兼容,那只能换个孩子祸害了,决定就是你了,MSVC2015 64bit! 目录 一、 素材准备 二、 具体操作 三、 出现的突发问题 素材准备 …

AMD64,linux-64bit,ARM64,linux-Aarch64和windows 64bit

今天下载NVIDIA驱动的时候看到有这么几个选项,所以想搞懂一下,如下: 指令集的设计模式分为两种:CISC和RISC。 CISC 是复杂指令集,指令较长,分成几个微指令去执行,开发程序比较容易&#xff0…

简述CPU

中央处理器(CPU,Central Processing Unit):主要由运算器、控制器和寄存器组成。CPU是一块超大规模集成电路,是计算机运算核心和控制核心,CPU 的主要功能是解释计算机指令以及处理数据。 32位架构的CPU数据总…

深入理解64-bit (一)

1 为什么要使用64-bit 1.1 概述 当前,“64-bit”是比较流行的一个词,许多人提到“64-bit”,就会想起高性能和大数据量。一时间,似乎“64-bit”成为了性能瓶颈的救命稻草。 “64-bit”的计算机真的能带来性能的提升吗…

深入理解64-bit (二)

1.2 “64-bit”的本质 1.2.1 什么是“64-bit” “32-bit”是指在并行情况下可被处理或传输的bit位的个数,也可指在某种数据格式下一个简单元素所使用的bit位的个数,这些个数,就是32个。这个术语被用来表示微处理器上寄存器的宽度…

密码学 实现64bit DES C语言

算法描述: 1.Feistel网络结构 其特性参数: ①明文(输入)块大小(Block Size):64bit~128bit,且是2的倍数; ②密钥长度/大小(Key Size)&#xff1…

32 bit 与 64 bit 程序(2)比较

32 bit 与 64 bit 程序(2)区别 由于操作系统内存分配的不同,导致软件开发过程中,需要编译不同版本的软件。 几个重要概念: (1)这里所说的的32位与64位程序,是指经过编译器编译后的可…

iphone桌面横屏设置在哪里_苹果手机怎么设置横屏切换

展开全部 苹果手机设置横抄屏切换袭的方法,可以通过以2113下步骤操作来5261实现: 方法一 1、首4102先请在 iPhone6s 的屏幕底部,用1653手指向上滑动,打开控制中心。 2、在控制中心的右上角有一个锁定图标。如果这个图标当前显示为…

苹果服务器未响应,上海苹果客户服务中心:iPhone 6S死机没反应修复方法

原标题:上海苹果客户服务中心:iPhone 6S死机没反应修复方法 手机下载的各种APP ,时常出现手机死机的情况,怎么回事?怎么解决?可能是系统崩溃,软件兼顾性或者硬件故障等,尝试将手机强…

Ansible-playbook剧本和角色

Ansible 的脚本 --- playbook 剧本 playbooks 本身由以下各部分组成 (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3&…

iphone6s读写速度测试软件,iPhone6S/7/8运行iOS13速度测试:结果有点失望

原标题:iPhone6S/7/8运行iOS13速度测试:结果有点失望 苹果已经正式发布了iOS13,并且还推送了第一个测试版。在发布会上,苹果也表示,软件启动速度要比iOS12快2倍,整体性能明显提升。那么iOS13真的有那么厉害…

iPhone屏幕尺寸和分辨率

[] iPhone屏幕尺寸和分辨率方面的一些小姿势 20160303 DPI和PPI是什么鬼pt和px有什么不同iPhone 66s Plus分辨率是1242 x 2208为何渲染后分辨率变为1080 x 1920 iPhone屏幕尺寸和分辨率方面的一些小姿势 20160303 iPhone设备现在有多种分辨率,如下表所列&#xff…