https://scholars.lib.ntu.edu.tw/handle/123456789/118945
標題: | Android Dalvik 最佳化之迴圈展開 Trace-based JIT Optimization of Loop Unrolling in Android Dalvik VM |
作者: | 林柏宇 Lin, Bo-Yu |
關鍵字: | 迴圈展開;虛擬機;編譯器最佳化 | 公開日期: | 2014 | 摘要: | Loop unrolling是一個相當知名的編譯器最佳化技巧,然而,由於Android Dalvik虛擬機採用Just-in-time的方式所以大部份的Loop unrolling機制並不適 用於此,詳細原因將在本論文的第二章節提到。 為了解決這個問題,我們使用一種名為Duff’s device的Loop unrolling技巧,在這種實作之下我們可以加入更多有關Loop unrolling的最佳化技巧,整體而言, 我們提升了Android知名benchmark約莫13%~14%的效能。 Loop unrolling is a well-known technique of the compiler optimization and has been widely used in many programming languages. However, most loop unrolling techniques are not suitable for Android Dalvik virtual machine because the Dalvik virtual machine applies Just-in-time compilation techniques. In Just-in-time compilation, codes are compiled to the binary at runtime, which means it’s more complicated to unroll the loop. The reason and the detail will be explained in chapter 2. To satisfy the requirements of applying loop unrolling in the Just-in-time compiler in Android Dalvik virtual machine, a mechanism called Duff’s device is conducted. In conclusion of our experiment, the speedup on famous Android benchmarks is about 13~14%. |
URI: | http://ntur.lib.ntu.edu.tw//handle/246246/261504 | Rights: | 論文公開時間:2019/08/22 論文使用權限:同意有償授權(權利金給回饋學校) |
顯示於: | 資訊工程學系 |
檔案 | 描述 | 大小 | 格式 | |
---|---|---|---|---|
ntu-103-R01922121-1.pdf | 23.32 kB | Adobe PDF | 檢視/開啟 |
在 IR 系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。