robot
最新文章(10)
快樂的小成就
Pythonkey 計劃
Mqskit 和其它相關工具
CPython 的 GC 二、三事
寫 Mecurial Extension 是件快樂的事!
Mozilla 台灣辨公室徵人啟事
關於 Apple 的兩項專利
core dump 之前的 frame
怎麼發出 beep 聲?
先承認你要找的是奴才吧!
首頁
新編
最新留言
Entries RSS
重要關鍵字(10)
coding (122)
Python (91)
FreeBSD (71)
WEB (61)
URL (48)
hardware (46)
javascript (36)
Linux (34)
blog (30)
C++ (16)
所有關鍵字
新增 URL
對 Dalvik opcode 的一個觀察
by thinker
2 Columns
關鍵字:
研究
這是一份 linkname:[Dalvik 的 opcode 列表] http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html ,如果仔細研究裡面的 opcode,可以分成下面幾個類型: * move 指令 (register 操作) * return 指令 * const/常數指令 (常字串、數字...常數指定給 register) * array 和 object 相關的操作 * method 的呼叫 * 整數和浮點數運算 * flow control (goto/if/switch) 從這裡能發現,Dalvik 除了能處理整數、浮點數和 array 之外,其它功能一律都要 透過呼叫 method 來處理。換句話說,Dalvik 對字串的處理能力相對低。 然而,網路年代的$應用$程式,往來在網路間的資料,大多是以字串表示, 需要大量的字串操作。如果 opcode 能增加字串處理的能力,應該可以改善 這方面的需求。 然而,Dalvik 主要是針對 Java 而設計的,而 Java 的語法裡本來就不支援字串 的操作,字串的操作都要透過 method call。這或許才是問題的所在。 另一方面,如果要將其它語言,如 $Python$、Ruby、Perl 等,直接移植到 Dalvik,使用 Dalvik 作為 runtime 的 VM。對於字串的需求就會上昇。當然,這類的語法, 還需要 variable sized array 或 list,更重要的是 dictionary type, 這些都是 Dalvik 所沒有的。或許本來就不應該使用 Dalvik 作為這些語言的 VM。 本文純粹是漫無目地的觀察心得,隨手記下。
最後更新時間: 2011-07-21 09:32:04 CST |
引用
查詢:
COMMENTS: