Java與python的效率比較思考

          Posted on 2008-11-08 00:16 Robert Su 閱讀(4466) 評論(0)  編輯  收藏 所屬分類: PythonJava
          java是一種解析性的語言,可是多了一個中間步驟,就是把源代碼編譯成class文件,不過此編譯非編譯器的編譯,因為class里面不是機器語言或匯編語言,而是經過編碼的8位字節二進制流。JVM是java的解析器。

          python是一門地地道道的解析型語言。
          它們之間的效率誰更高呢?

          大頭 23:56:14
          “如果相同功能的class和python,class執行要快,因為class已經全部翻譯好了,python還要一句一句解析。”

          Java多了編譯成class的過程,所以效率相對于python要慢一些。

          事實上python也可以產生class一樣的東西
          字節編譯的.pyc文件
          “輸入一個模塊相對來說是一個比較費時的事情,所以Python做了一些技巧,以便使輸入模塊更加快一些。一種方法是創建 字節編譯的文件 ,這些文件以.pyc作為擴展名。字節編譯的文件與Python變換程序的中間狀態有關(是否還記得Python如何工作的介紹?)。當你在下次從別的程序輸入這個模塊的時候,.pyc文件是十分有用的——它會快得多,因為一部分輸入模塊所需的處理已經完成了。另外,這些字節編譯的文件也是與平臺無關的。所以,現在你知道了那些.pyc文件事實上是什么了。”——《python簡明教程》


          (煩請明白的看到了錯誤之處給指正:)

          附:
          編譯型語言,執行速度快、效率高;依賴編譯器、跨平臺性差些。如C、C++、Delphi、Pascal,Fortran。
          解釋型語言,執行速度慢、效率低;依賴解釋器、跨平臺性好。如Java、Basic.

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           

          posts - 103, comments - 104, trackbacks - 0, articles - 5

          Copyright © Robert Su

          主站蜘蛛池模板: 鄂托克旗| 仁化县| 盐源县| 西安市| 江门市| 宿迁市| 梧州市| 福建省| 卓资县| 罗源县| 长泰县| 石河子市| 图木舒克市| 理塘县| 台湾省| 德化县| 汪清县| 枝江市| 修文县| 花莲市| 山阴县| 扎赉特旗| 永修县| 横峰县| 杭锦旗| 清镇市| 乌拉特前旗| 阳原县| 拜城县| 遂宁市| 当阳市| 武川县| 左贡县| 新宁县| 静乐县| 达孜县| 巫山县| 崇礼县| 炎陵县| 旌德县| 津市市|