美國高通技術公司(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)。
更多技術信息詳見高通開發者專區