饒榮慶 -- 您今天UCWEB了嗎?--http://www.ucweb.com

          3G 手機(jī)開(kāi)發(fā)網(wǎng)

             :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
          原文 http://www.3geye.net/?3/viewspace-3187

          昨天,因?yàn)楣ぷ餍枰肓私庀履_步引擎的實(shí)現(xiàn)原理,下載了一個(gè)開(kāi)源腳本引擎,研究了下,3GEYE ^9ys.p?^.p;G!s
          如果大家需要下載的,請(qǐng)到我空間Google下,就可以發(fā)現(xiàn)這個(gè)腳本引擎的具體地址。3GEYEX6xWl(p Y!Cl)z1^$`
          下面我來(lái)說(shuō)下這個(gè)腳本引擎的一些性能問(wèn)題。
          ![n t*w S` m3
          %p6mw8VX3Qx;{ K%D5q3首先來(lái)看看他是怎么讀取腳本文件的。3GEYE6C~3UC p4d8{
          3GEYEQF)A$pt)Q OG a
          代碼
          ;wv2zD:bP33GEYE+er GU4vzrz
           InputStream is = new Object().getClass().getResourceAsStream(path);   //j2me使用
          0}%j6Ch}V'p3 ByteArrayOutputStream baos = new ByteArrayOutputStream();
          MCd,`3n ~'S(|3 int ch = 0;
          8|@DzXe:m2^O3    while ( (ch = is.read()) != -1) {3GEYE.fv`!mwn(R
                baos.write(ch);3GEYE$l | B8R"`jO
          }3GEYE7{:AKw1ZF4}?j:T
          上面是作者讀取腳本文件代碼,本人覺(jué)得這個(gè)代碼的效率很低,一個(gè)個(gè)字符讀取出來(lái),速度很慢,我測(cè)試了下發(fā)現(xiàn)讀取一個(gè)很簡(jiǎn)單的文件需要47毫秒,在Dell 1420的機(jī)器上。這樣的效率是很可怕的。
          Lp?EZ:^33GEYE:vN|Ou:C1X$^
          下面看看我是怎么提高他的性能的。
          "s'O3K:xW4IZ,Rm,R)I33GEYE(Gh6CO+G`
          byte[] buff = new byte[512];3GEYE7u9]xA,?I
                      long total = 0;3GEYEQ In|*A[1P
                      int count = 0;3GEYE u J?J0d
          3GEYEQ%fN X"|9W3JB
                      while ((count = is.read(buff)) > 0) {
          *@)teb6P)df&e+r3                baos.write(buff, 0, count);3GEYE5`X;C,@g?P6i o
                          total += count;3GEYEnM7S+Gp)}$L(JG-m
                      }
          []"|L%v8r$~3我是采用了一個(gè)512字節(jié)的緩沖區(qū)去讀取這些數(shù)據(jù),經(jīng)過(guò)測(cè)試發(fā)現(xiàn)Dell 1420機(jī)器上的花費(fèi)是0毫秒。3GEYEM G U,s4| A$t
          快了非常多。
          /P:B`OX*H?E3不過(guò)腳本引擎除了讀取源文件外,最重要的核心是解釋引擎的速度。3GEYE%\ _`K4?#s;Zv

          Ee[:?i$Rm3有時(shí)間繼續(xù)研究下。3GEYEjY-`8MTs




          爬蟲(chóng)工作室 -- 專業(yè)的手機(jī)軟件開(kāi)發(fā)工作室
          3G視線 -- 專注手機(jī)軟件開(kāi)發(fā)
          posted on 2008-03-27 12:32 3G工作室 閱讀(1487) 評(píng)論(0)  編輯  收藏 所屬分類: j2me
          主站蜘蛛池模板: 乌鲁木齐县| 平顶山市| 手机| 凤阳县| 交城县| 鱼台县| 太白县| 逊克县| 巴林右旗| 鹿邑县| 靖宇县| 衡水市| 清涧县| 嘉鱼县| 阜阳市| 施甸县| 灵璧县| 神木县| 淳安县| 临夏县| 万宁市| 忻州市| 开远市| 博客| 汪清县| 济阳县| 佛坪县| 枣强县| 太仓市| 吐鲁番市| 兖州市| 卢氏县| 乌兰县| 绥棱县| 双辽市| 萝北县| 沙雅县| 雷波县| 扬州市| 大名县| 仪陇县|