溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行Python運行效率優(yōu)于C語言的對比

發(fā)布時間:2021-10-26 14:56:42 來源:億速云 閱讀:329 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關怎么進行Python運行效率優(yōu)于C語言的對比,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

Python是個非常流行的解釋型腳本語言。C是一個非常流行的編譯語言。由于其編譯的性質(zhì),導致C一般比Python要快,但是它是更底層的。相對的,Python編程更加快速和簡單。譯者注:在目前最權(quán)威的TIOBE編程語言排行榜上,Python運行效率和C語言分處榜上第6和第2的高位,在腳本語言和編譯語言中分別坐著第二把交椅(***把交椅分別是PHP和Java)。

問題在于,Python程序(在沒有輸入的情況下)運行時所額外花費的時間相對C而言是否更加劃算,以及運行時所用的時間是否比編程時間更加重要。
系統(tǒng)程序

我決定建立一個簡單的程序,該程序可以處理以下公式的計算:

{ x + y = 14 { x^2 + y^2 = 100

我很快用Python寫了一遍,找到了答案。然后,我將其翻譯成C語言。我知道,在C語言中的同一程序會花費比Python運行效率更多一些的代碼,但是這并非是我所注意的問題。在繼續(xù)之前,讓我們看看代碼:

Python:  x = 1 while x <= 14:  y = 14 - x  print str(x) + "|" + str(y)  if x**2 + y**2 == 100:  print "match"  xx = x + 1  C:  #include (<)stdio.h(>)  int main()  {  int x, y, t;  for (x = 1; x <= 14; x++) {  y = 14 - x;  printf("%d|%d\n", x, y);  if ((x*x) + (y*y) == 100)  printf("match\n");  }  return 0;  }

我總是聽說C語言永遠是最快的語言之一。在命令端口運行這兩個程序,我并沒看出這兩個的運行速度有任何差別。所以我打開Ubuntu的命令端口,并輸入如下代碼:

time ./a.out

(time指令,緊跟著可以脫離time指令而單獨運行的普通指令,運行指令并計時&mdash;&mdash;很明顯,這里的測試對象是C程序。)我得到0.001秒real time(真實用時),而user time(用戶用時)和system time(系統(tǒng)用時)都是0。接下來是Python運行效率:

time python system.py

結(jié)果有些嚇人:0.017秒real time,0.012秒user time,0.004秒system time。當然了,real time的差別畢竟只有16毫秒,不過在長時間運行大量運算的大系統(tǒng)下這個差別就很明顯了。
百萬程序

我決定將這個設想付諸現(xiàn)實。我寫了另一個程序,這個程序?qū)?到1000000之間的所有整數(shù),包括0,依次print輸出。當然這和我之前提到的大量運算的情況還是不同的,不過還是給了計算機比較多一些需要print的內(nèi)容。

看完上述內(nèi)容,你們對怎么進行Python運行效率優(yōu)于C語言的對比有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI