由於程式行為和程式執行平台架構的多樣性,大部分編譯器以提供編譯器選項(compiler options)給使用者的方式,讓使用者自行決定如何最佳化程式。因此編譯器使用者必須對程式行為、程式執行平台架構、編譯器選項有一定的了解才能找出一組有效果的選項組合來提昇程式效能,但對大部分的使用者來說並非易事。因此我們研究專注如何透過一些系統性的搜尋方式縮小搜尋空間,在使用者可接受的時間內幫助使用者找出適合的選項組合。然而目前這方面的研究皆應用於一般的user-space applications,在本篇論文中,我們除了改進此研究領域一個比較新的搜尋方式之外,並將其應用於核心模組上(kernel-space modules)。相對於GCC編譯器提供的最高自動最佳化等級-O3我們得到了7%的效能提升,並且節省了原本搜尋方式4%的時間。
Because of the variety of the program behavior and different characteristics of the platforms, an optimizing compiler provides its users with options. To find out an effective combination of compiler options for the optimal program performance, the user must understand the program behavior, platform architecture, and the compiler options, which it is not easy for an average user. Systematic search methods have been proposed to find out effective combinations of compiler options, but these methods targeted user-space applications. This thesis proposes an improved search method. When applied on a kernel module, we achieved a 7% improvement over the GCC –O3, and our improved method saved 4% of search time over original search method.