美国高通技术公司(QTI)最新发布了针对Android NDK的升级版Snapdragon LLVM编译器,旨在优化代码,更好地发挥骁龙处理器的性能。
美国高通技术公司认为,只有芯片和软件和谐一致地工作,才能实现出色的用户体验和高效的产品性能。如果没有能充分利用CPU特性的优化软件,那么CPU性能再高也无济于事。“这也是我们为广大的开发者和产品线推出并不断完善这款骁龙编译器的原因”高通表示。
通过Snapdragon LLVM编译器编译的代码将能够更好地在骁龙处理器上运行,因为编译器拥有针对性的优化和错误修复。由于高通正在整个产品路线图和生态系统中推广64位,这款编译器现在也增加了针对骁龙64位处理器――骁龙615、610和410的代码生成支持。
要理解编译器的作用,不妨试着把代码编写想象成写作,你以自己熟悉的语言写一本书。如果你希望其他国家的人也能读懂你的作品,你当然就需要翻译。这种“语言翻译”其实就是编译器的作用。
运用C++等高级编程语言编写完应用程序后,编译器会将你的作品“翻译”成处理器可以读取并执行的另一种“语言”。
使用C++编程语言编程要比使用处理器汇编代码方便。但问题到这并没有完全解决,因为并非所有的处理器都能理解同一种语言。虽然骁龙处理器使用ARM指令集,但它拥有的架构优化和改进使之有别于普通的ARM CPU。
还是以书籍的翻译做类比,如果你依赖网上提供的翻译工具进行翻译,有些风险是不可避免的。意思可能可以传达,但却不是最佳的说法,如图所示。如果翻译为“Keep Off the Grass”的提示语则会变得更有“诗意”,更恰当。
编译器亦是如此。为了实现最佳的“翻译”并实现某一特定架构上的最佳性能,编译器应该“说”目标平台的“母语”。众所周知,针对某一款处理器优化的代码叫“本地代码”。就Android系统而言,一个处理器可以使用该平台的通用语言Dalvik,但这种语言有别于此处理器的特有语言。而且,通用语言无法实现最佳性能。这就和一个路人看到“The grass has the life, you keep blue”时可能会丈二和尚摸不着头脑一样,处理器在执行非原生、非优化的代码时也会浪费时间。
“有理解力”的编译器仅仅是美国高通技术公司帮助OEM厂商和应用开发者实现骁龙处理器最佳性能和用户体验的其中一种方式。
更多有关骁龙LLVM 的信息,请点击这里。您也可以了解我们通过软件来改善用户体验的其他方式,比如扩增实境(Vuforia)、电池续航 (Snapdragon Battery Guru)和实现跨设备互联的万物互联 (AllJoyn)。
更多技术信息详见高通开发者专区