2010-04-20 59 views
1

什麼是通用編譯器的最大可接受漸近運行時間?編譯器的漸近複雜性

澄清:編譯過程本身的複雜性,而不是編譯的程序的複雜性。根據程序的大小,例如,源代碼字符,語句,變量,過程,基本塊,中間語言指令,彙編程序指令等等的數量。

這很大程度上取決於你的觀點,所以這是一個社區wiki。

從編寫編譯器的人的角度看這個。優化級別-O4是否曾用於較大的程序,當其中一個優化需要O(n^6)時?

相關的問題:

  • 當爲superoptimisation(指數複雜,甚至數不清)接受嗎?

  • 什麼是JITs可以接受?它是否必須是線性的?

  • 已建立的編譯器的複雜性是什麼? GCC? VC?英特爾? Java的? C#? Turbo Pascal? LCC? LLVM? (參考?)

如果你不知道什麼是asymptotic complexity:你多久願意等到編譯器編譯你的項目? (不包括腳本語言)

回答

1

我不認爲你會發現任何需要對每個源文件進行最高級別優化的大型項目。我希望只在那些真正需要它的文件/類/模塊上進行優化。因此,爲開發人員提供方法將這種優化的範圍和成本限制在需要它的代碼是很重要的。