python速度比较_Python和C运算速度对比实测
久聞python的底層代碼是C寫的,運行起來也要比C慢很多。但是一直沒有見過量化的對比數據,今天正好有空親自寫了點代碼小測了一下,在這里把結果分享一下。
OS:Ubuntu 16.04
Python IDE: Pycharm
C IDE: GCC + Sublime Text3
Code: Prime Number Selection
首先是C的程序。
程序很簡單,主要任務就是遍歷1000000以內的自然數,篩選出素數,然后結束。
為了減少printf函數對程序的延時,除了時間外其他輸出全部屏蔽掉。結果如下:
C用時4分54秒。
再看python的表現。
Python 和 C的算法略有不同。C是對每一個自然數進行篩查,而python先做出奇數序列,再進行迭代過濾。我還順便在輸出素數的時候記錄下和前后的差值。不過總體來講這兩種算法的復雜程度是一致的,主要的工作量也是大致相當。
同樣為了減少print函數的延時,所有輸出都被屏蔽,除了時間和運算完成的報告以外。
運行后結果如下:
Python用時8分41秒。
Python用時是C的將近兩倍。比我之前看到資料上講的速度差別小太多了。
這個實驗設計得還不夠精確。如果有機會,下次應該試一試差異更小,但是覆蓋的運算種類更齊全的代碼,跑更長的時間,然后再做一次這樣的實驗,也許結果會大有不同。
做這個實驗還觀察到一個有趣的現象。跑C的時候,CPU3在滿負荷工作:
跑python的時候,又換成CPU2了:
雖然底層硬件沒有把這八個內核都利用起來,但是還好每次分配都是公平的,要單核就都單核運算,要不然這次實驗結果的參考價值就是0了。
總結
以上是生活随笔為你收集整理的python速度比较_Python和C运算速度对比实测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中str是什么函数_Pyth
- 下一篇: nodejs安装及环境配置_nodeJS