本文比較了perl,ruby,c++,c的執行速度的比較。精確的比較應該是針對不同的資料級別進行多次實驗才能得出,本文只能得出乙個印象中的執行時間
比較。程式是計算第n個素數,使用的演算法類似於篩選法。分別為c++,c,perl,和ruby的**(csdn中插入**中沒有c和perl)。
以下是執行時間的對比:
c:real 0m3.111s
user 0m3.032s
sys 0m0.004s
c++:
real 0m7.064s
user 0m6.980s
sys 0m0.000s
perl 5.10.0:
real 2m56.257s
user 2m52.227s
sys 0m0.228s
ruby 1.8.7:
real 7m17.123s
user 5m58.746s
sys 1m13.897s
由此可以c++和perl的執行速度大概在20倍左右。
c++和ruby的執行速度大概在60倍左右。
而c是最快的。
當然,在這個比較中,各個**還有一些改進的空間(如c++中可以先為vector reserve一段空間,或在這裡根本不需要動態增長等)。
而且,perl和ruby是包含了編譯時間在裡面的(因為**量較少,因此省略掉了)。但是也能在數量級上反應**執行的速度。
另外,個人是比較喜歡ruby的,它具有一般動態語言的特點,而且**比perl要容易理解,比perl和python要更加純粹的物件導向,據說其已經
擺脫了最慢的動態語言的標籤,不知道什麼時候能再快一些。
執行速度對比
2018 04 12 pyspark master spark node1 7077 num executors 100 executor memory 6g executor cores 5 driver memory 1g conf spark.default.parallelism 1000 ...
C語言之優化執行速度
1 選擇合適的演算法和資料結構 選擇一種合適的資料結構很重要,如果在一堆隨機存放的數中使用了大量的插入和刪除指令,那使用鍊錶要快得多。陣列與指標語句具有十分密切的關係,一般來說,指標比較靈活簡潔,而陣列則比較直觀,容易理解。對於大部分的編譯器,使用指標比使用陣列生成的 更短,執行效率更高。在許多種情...
Mysql執行速度優化
1 create table t select from t old where 1 0 2 create table t like t old 3 create table t 其中 1 最快,但是它取消原來表的有些定義。自增字段 表引擎都變了,如果想要保持一樣的引擎,就在table名稱後邊加上 ...