「BAT」为什么必须将代码从 x86 迁移到 ARM?( 四 )


再来看 Python 源码的迁移 , 其实与 Java 很类似 , 也是需要从编译环境和 SO 库两大方面入手修改 。 环境上推荐使用 A32 , Python3 你也可以通过样本安装 , 也可以通过源码安装;SO 库有多种类型 , 但对于各种方式的 SO 库 , 最后都是对应为一个 SO , 定义为 SO 库 , 需要的步骤也都是一致的 , 即装配环境、重新编译、重新替换 。
不同的地方只是前面安装的是 Python 的运行环境 。 Python 源码同样通过解释器生成一个字节码 , 这时候可能我们会依赖外部的一些 Python import 模块进来 , 这些模块里面可能有一些 SO 库 , Python 解释器的解释执行后就是部署运行了 。
相对于 C++ 来说 , Java/Python 的迁移点并不是太多 , 总结下来 , 主要需要注意两点:
编译器包括解释器的安装、迁移 , 这里有两种方式 , 方式一是通过 YAM 源的方式进行安装 , 方式二是找到源码进行编译重新安装 。
x86 依赖 SO 库的情况下 , 需要找到 SO 库相应的源码 , 进行重新编译后实现替换 。
写在最后
“拿华为的话说 , 就是自己的降落伞自己先跳 。 长虹大数据平台的规模比较大 , 有一百多个服务器 , 原来是一个 PB 级的数据存储 , 涉及到的整个生态组件有 20 多个 , 我们将原来存在的 1700 多万的终端业务迁移到基于鲲鹏的大数据计算平台 , 耗时近 5 个月 。 鲲鹏的架构在 HBS 场景下优势凸出 , 另外在存储、IO 等方面基本上是持平 , 总体来说 , 鲲鹏的芯片表现性能都还不错 。 ”长虹计算产业事业部技术总监蒲文龙这样评价到同行者华为鲲鹏 。
【「BAT」为什么必须将代码从 x86 迁移到 ARM?】无独有偶 , 麒麟软件有限公司技术总监李洋同样赞扬道 , “华为鲲鹏的代码迁移工具 , 包括分析扫描工具、代码迁移工具及性能优化工具 , 这是作为开发者一定要去了解的非常方便的工具 , 它可以让开发者快速地分析系统软件源代码 , 以及对所需要的依赖包进行编译和重构 。 ”
对于开发者来说 , 迁移是一套必须掌握的技能;对于互联网企业来说 , 迁移是助力企业抓住未来趋势的一个必要动作 。 从 x86 架构到 ARM 架构 , 计算产业的未来已经渐渐明晰 , 而鲲鹏作为先行者 , 生态的力量也愈发强大 , 始终秉持着“硬件开放、软件开源、使能伙伴”的初心 , 逐渐发展成为滋养新计算产业的一方沃土 。


推荐阅读