解釋程序和編譯程序的運行效率
Ⅰ 編譯後的程序比邊解釋邊執行的程序的運行速度快嗎為什麼
程序的編譯是指將人可以理解的代碼(如C的源代碼)段編譯成機器指令碼(二級制指令),也就是處理堆棧、處理器、匯流排的指令,交由計算機自動執行。解釋型語言是在需要執行時臨時編譯運行,執行時多了編譯的過程,自然就要慢的多了。
比較特殊的是java,javac命令編譯的結果雖然也是二進制文件,但實際也不是機器指令,而是優化後的代碼,最後的執行是通過java虛擬機再次編譯後執行。所以效率介於編譯型和解釋型之間。
目前java的執行速度已經有了大幅度的提升,但要想趕上或超越C 或者匯編,理論上是不現實的。
Ⅱ 編譯執行和解釋執行的區別
一、主體不同
1、編譯執行:由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。
2、解釋執行:將源語言直接作為源程序輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程序。
二、優勢不同
1、編譯執行:相比解釋執行編譯執行效率高,佔用資源小,適合復雜程序
2、解釋執行:開發速度快,出現嚴重BUG的幾率小。
三、缺點不同
1、編譯執行:兼容性差,例如在windows平台上寫的編譯程序一般不可以在unix平台上運行。
2、解釋執行:解析需要時間,不生成目標程序而是一句一句的執行的方式會造成計算機資源的浪費,即執行效率低。
Ⅲ 編譯器編譯的時間, 要比解釋語言運行的速度慢嗎為什麼
只能說說通常的情況,因為情況比較復雜
一般來說,編譯的語言比解釋性語言運行的速度塊
不過編譯時間的話就很難說了,和編譯器本身有關系
解釋語言可以不用專成 二進制代碼直接運行
Ⅳ 什麼語言編寫的程序執行效率最低
解釋型語言的程序執行效率最低,解釋型語言通常不會進行整體性的編譯和鏈接處理,解釋型語言相當與把編譯型語言中的編譯和解釋過程混合到了一起同時完成。每次執行解釋型語言的程序都需要進行一次編譯,因此解釋型語言的程序運行效率通常較低,而且不能脫離解釋其獨立運行。
在各類程序設計語言中,相比較而言,執行效率最高的是機器語言編寫的程序。在各種程序設計語言中,只有二進制代碼組成的機器語言才能被計算機直接執行,其他的語言都必須進行編譯,翻譯成二進制代碼才可被執行。
高級語言按程序的執行方式可以分為編譯型和解釋型兩種。
1、編譯型語言
編譯型語言是指使用專門的編譯器,針對特定平台(操作系統)將某種高級語言源代碼一次性「翻譯」成可被該平台硬體執行的機器碼(包括機器指令和操作數),並包裝成該平台所能識別的可執行程序的格式,這個轉換過程稱為編譯(Compile)。編譯生成的可執行程序可脫離開發環境,在特定的平台上獨立運行。
2、解釋型語言
解釋型語言是指使用專門的解釋器對源程序逐行解釋成特定平台的機器碼並立即執行的語言。解釋型語言可以方便地實現源程序級的移植,但這是以犧牲程序執行效率為代價的。
Ⅳ 解釋型與編譯型程序那個執行的速度快
當然是C執行速度快了,而且不只快一點。Java也不是解釋型語言吧,Java速度慢的原因是為了保持跨平台的特性而必須在Windows系統裡面裝虛擬機來翻譯編譯後的文件。 Basic語言是解釋型的。Java的優勢就是跨平台。
Ⅵ 腳本程序每次運行都要解釋,運行效率為什麼會比那些編譯後的程序高 那些經過編譯的可執行文件不是每次
一句話,條件不同,不能對比。
舉例說,一個標準的可以計算PI值得C++程序,用g++進行交叉編譯:不同的編譯器版本生成的代碼,性能有差別;針對不同操作系統,性能有差別。針對不同CPU(X86、Arm、MIPS等)的代碼,性能也有差別。
不考慮演算法的優化問題,編譯優化問題,平台優化問題等等這些,那麼可以確定,腳本語言一定慢於編譯語言。
有時候上班堵車的時候,走路都比坐車快。但你能說你走比汽車快?
Ⅶ 編譯型語言和解釋型語言各自的優缺點是什麼
一、編譯型語言
優點:運行速度快,代碼效率高,編譯後的程序不可修改,保密性較好。
缺點:代碼需要經過編譯方可運行,可移植性差,只能在兼容的操作系統上運行 。
二、解釋型語言
優點:可移植性較好,只要有解釋環境,可在不同的操作系統上運行。
缺點:運行需要解釋環境,運行起來比編譯的要慢,佔用資源也要多一些,代碼效率低,代碼修改後就可運行,不需要編譯過程。
(7)解釋程序和編譯程序的運行效率擴展閱讀:
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等。而相對的,解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是在運行程序的時候,解釋性語言必須先解釋再運行。
Ⅷ 解釋和編譯有什麼區別
一、與計算機的交流方式不同
1、解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋,邊執行;解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。
三、開發便捷性
1、解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果
2、編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件
四、運行速度
1、解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多
2、編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。
Ⅸ 什麼叫解釋執行、什麼叫編譯執行、哪個能快一點啊
解釋執行是計算機語言的一種執行方式。由解釋器現場解釋執行,不生成目標程序。如BASIC便是解釋執行(VB6之前的版本,還有批處理BAT文件也是),一般解釋執行效率較低,低於編譯執行。
編譯執行是一種計算機語言的執行方式。由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。如:PASCAL,C,C++,delphi等語言。效率高於解釋執行。
Ⅹ 什麼編寫的程序執行效率最低
解釋型語言編寫的程序執行效率最低。
解釋型語言,程序不需要編譯,程序在運行時才翻譯成機器語言,每執行一次都要翻譯一次。因此效率比較低。解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序。
每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。
解釋型語言大的優勢:
1、解釋型語言提供了極佳的調試支持。一名Java程序員只需要幾分鍾就可以定位並修復一個「空指針異常」,因為Java運行環境不僅指明了異常的性質,而且給出了異常發生位置具體的行號和函數調用順序(著名的堆棧跟蹤信息)。這樣的便利是編譯型語言所無法提供的。
2、解釋器比編譯器容易實現。
3、解釋型語言最大的優勢之一是其平台獨立性。
4、解釋型語言也可以保證高度的安全性——這是互聯網應用迫切需要的。