Upload
kito-cheng
View
1.230
Download
1
Embed Size (px)
Citation preview
Incremental Global Prelink for Android
Kito [email protected]
Who am I ?
Kito
Who am I ?
學術奴隸 @天大地大台科大
熱血工讀生 @0xlab
Incremental Global Prelink for Android
???????
Incremental Global Prelink for Android
???????
這是碩士論文題目嗎 ?
Incremental Global Prelink for Android
先來看一下什麼是 link
執行檔啟動流程
載入相關動態函式庫
執行檔讀入記憶體
更新符號位址(Relocation)
開始執行 !
Loader
Dynamic Linker 程式啟動時間
libc/libm/libdvm...
printf, sin, cos, ...
Linker 做的事就通通叫 link
執行檔啟動流程
載入相關動態函式庫
執行檔讀入記憶體
更新符號位址(Relocation)
開始執行 !
Loader
Dynamic Linker 程式啟動時間
Incremental Global Prelink for Android
所以應該大概知道都 link 是啥了唄 !
Incremental Global Prelink for Androidpre : 預先 ...
所以應該大概知道都 link 是啥了唄 !
Incremental Global Prelink for Androidpre : 預先 ...
Prelink : 預先 link!
所以應該大概知道都 link 是啥了唄 !
執行檔啟動流程
載入相關動態函式庫
執行檔讀入記憶體
更新符號位址(Relocation)
開始執行 !
Loader
Dynamic Linker 程式啟動時間
Prelink= Link 時間減少
執行檔啟動流程
載入相關動態函式庫
執行檔讀入記憶體
更新符號位址(Relocation)
開始執行 !
Loader
Dynamic Linker 程式啟動時間
Prelink= Link 時間減少
Link 時間減少 = 程式啟動變快 !
So what?
Prelink = Link 時間減少 = 程式啟動變快 !
So what?
Android 開機要載入很多程式
Prelink = Link 時間減少 = 程式啟動變快 !
So what?
Android 開機要載入很多程式
程式 Prelink 後啟動速度變快
Prelink = Link 時間減少 = 程式啟動變快 !
So what?
Android 開機要載入很多程式
程式 Prelink 後啟動速度變快
Prelink 後 Android 開機變快 !!
Prelink = Link 時間減少 = 程式啟動變快 !
其實 ...
你手上的 Android 已經有使用 Prelink 了
其實 ...
你手上的 Android 已經有使用 Prelink 了
所以我是來騙台錢的 XD
其實 ...
你手上的 Android 已經有使用 Prelink 了
所以我是來騙台錢的 XD
但目前 Android 使用的是 local prelink !
Incremental Global Prelink for Android
但目前 Android 使用的是 local prelink !
Incremental Global Prelink for Android
Local ( 本地 ) vs Global ( 全球 )
但目前 Android 使用的是 local prelink !
Incremental Global Prelink for Android
名稱大勝 ( 誤 )
Local ( 本地 ) vs Global ( 全球 )
但目前 Android 使用的是 local prelink !
Incremental Global Prelink for Android
Local ( 本地 ) vs Global ( 全球 )
libc.soprintf
libfoo.sofoobar
void foo (){ printf(“fooooo”); bar();}
勝
Local Prelink:還有一個 Relocationprintf
Global Prelink:沒半個 Relocation!
共兩個 Relocationprintfbar
Local ( 本地 ) vs Global ( 全球 )
只能處理同檔案資訊 vs
可處理跨檔案資訊
27
所以到底多厲害 ?
28
所以到底多厲害 ?
聽說在 Nexus S 上開機
可以快接近兩秒
29
所以到底多厲害 ?
?????
聽說在 Nexus S 上開機
可以快接近兩秒
30
所以到底多厲害 ?
?????
聽說在 Nexus S 上開機
可以快接近兩秒
因為我是個窮阿宅沒有 Android 手機 ( 泣
還是搞不懂在幹嘛耶 !
Incremental Global Prelink for Android
用了後開機 / 程式啟動會變快就對了 XD
Incremental Global Prelink for Android
還是搞不懂在幹嘛耶 !
被遺忘了 XD
Incremental Global Prelink for Android
也要 !
Open Source !
不知道啥時會 open 就是了 XD