LLVM之爺談下一代編譯器

2021-06-05 21:53:39 字數 1336 閱讀 5722

分類: 編譯原理

開源技術

2011-09-21 21:59

521人閱讀收藏

舉報llvm之父,相信有很多人都知道,

chris lattner

。從2023年開始,搞llvm到現在。llvm最初的想法還是來自chris lattner的導師:

vikram adve。

《the next generation of compilers》

,keynote是學術會議上的精彩環節,一般是該領域的最權威學者做主題演講,演講的內容是很前瞻,高屋建瓴性質的。

過去的十年裡,產品級的編譯器在通用處理器上已經使用了許多技術,這些技術都是在編譯器研究過程中逐漸成熟的。如基於ssa的優化、指標分析、基於程式行為的優化、鏈結時跨函式跨檔案優化、自動向量化、包含動態語言自適應優化的實時編譯。這些技術在可預見的未來將繼續存在。那麼,未來10年裡又會從編譯器研究中出現什麼新的技術呢?

首先,實時編譯和動態優化將被擴充套件到靜態語言中,如c/c++和fortran。圖形應用程式中已經用到了這種技術,如macos x opengl庫和amd ati編譯器,還有即將應用到通用多核平台中的技術,如

rapidmind

多核開發平台。

第二,可能也是最意料之中的,編譯器仍將在應對多核程式設計挑戰中發揮重要作用。這並不是說自動並行化將死而復生,而是編譯器將為並行程式設計提供兩種形式的支援:一是為已知並行程式做優化和**生成,二是利用互動式的,非最優的並行化技術為已有的**以半自動化的方式提供並行程式設計模型。

第三,編譯器將在提公升程式的安全性和可靠性方面越來越重要。最近幾年,許多新的語言和編譯技術(如cyclone、ccured、safecode)都試圖確保儲存絕對安全和健壯的語義操作,而且這些語言和技術甚至都直接針對c/c++語言。產品級的編譯器都沒有理由不提供這些安全保證,至少也應該為那些對安全敏感的軟體提供特殊的安全選項支援。此外,這些支援支援也可以利用乙個相比機器碼生成更強大的安全和可靠性技術保證的強型別虛擬機器來實現。

第四,編譯器仍然需要通過更加靈巧的自動調優策略來挖掘優化潛能。這將是在已有編譯技術基礎上挖掘效能提公升的主要動力。

最後,編譯器將會採用投機優化的方式來彌補保守的靜態分析優化的不足。最近體系結構的研究已經能讓硬體機制高效實現此類投機,現在輪到編譯器發明新的方式來讓硬體支援更加強大的傳統優化,或者新的優化了。

短短五段話,概括了現在編譯的研究熱點,而是未來前進的方向。總結起來就是:動態實時優化、多核並行化輔助、編譯器可靠性、編譯器自動調優、編譯器投機優化。

五年以後,我們可能裝個編譯器的同時要安裝直譯器,程式設計序的過程中還要看著乙個小小的服務在一直執行。莫名奇妙的cpu會利用率飆公升。本以為中了什麼病毒,旁邊的程式設計師大哥嘿嘿一笑,說:電腦在做自動優化。

Mozilla 構想下一代瀏覽器

mozilla 邀請世界各地的 internet 使用者參與設計下一代瀏覽器,mozilla 目前擁有三個構想,乙個代號為 aurora 的下一代瀏覽器,更好的書籤與瀏覽歷史視覺化技術,以及移動版 firefox。mozilla 會說,我們邀請世界各地的業界人士參與這個專案,歡迎他們提供自己的構想,...

微軟下一代網路伺服器IIS7前瞻

windows 的網路伺服器internet information services iis 7.0 將整合asp.net,改善診斷系統,引入 管理員使用者介面,配置系統以及一系列新構件。微軟iis,網路平台及工具開發組專案經理bill staples以及產品經理mary alice colvin...

微軟下一代網路伺服器IIS7前瞻

windows 的網路伺服器internet information services iis 7.0 將整合asp.net,改善診斷系統,引入 管理員使用者介面,配置系統以及一系列新構件。微軟iis,網路平台及工具開發組專案經理bill staples以及產品經理mary alice colvin...