美文网首页
移动端顶层到底层优化路线

移动端顶层到底层优化路线

作者: 半笔闪 | 来源:发表于2020-01-08 15:26 被阅读0次
    1. 我们写的安卓的应用,都是在一个虚拟机上跑,因为对性能要求不高,所以只要在逻辑层次优化就够了,在java层就行。
    2. 需要图像处理、语音处理、深度学习推理等对性能要求高的处理,这时需要在java虚拟机和系统内核直接打通一条通道,让这些对性能搞的处理在系统层跑,用C/C++,这条通道在安卓就是JNI(java native interface),到了C++,我们就可以更好的优化内存。
    3. 继续优化,可以在C++中嵌入汇编代码,这里为什么可以达到优化的目的呢,C++代码最终也是要靠GCC、CLANG等编译器编译成汇编代码的,但是这些汇编代码可能就不是最优的。举个例子:比如可能会出现CPU的Hazard,简单说就是可能会造成上一条汇编用到的寄存器还没读或写,下一条汇编语句也要读或写这个寄存器。
    4. 还能继续优化,SIMD,ARM的NEON就是SIMD指令集。就是一条指令同时操作多个数据。
    5. CPU性能不足了,异构计算来,利用GPU、DSP、FPGA等配套CPU进行处理。这时用到OpenCL、Vulkan、Metal、OpenGL等等。

    相关文章

      网友评论

          本文标题:移动端顶层到底层优化路线

          本文链接:https://www.haomeiwen.com/subject/malsactx.html