swift 效能弱爆了

2021-06-22 09:22:08 字數 2814 閱讀 7586

蘋果剛推出了swift語言,我們對其進行了效能測試,測試環境如及其測試方法下

硬體環境:mac book pro late 2013

測試方法:測量排序使用的時間

程式語言:swift,c,go語言

測試結果

程式設計   語言

迴圈次數

時間總  消耗c1億

最快31秒

go1億

48秒swift

20萬88秒x500

結論:c語言的效能還是最強悍,swift語言的效能和蘋果宣稱的還是有很大差距的

/*swift語言的**  */

var t1 = 0

time(&t1)

for

var xx = 0;xx < 200000;++xx                                      //swift語言本身提供的排序方法,應該用的是快速排序

}

var t2 = 0

println("時間消耗 \(time(&t2)-t1)秒")

結果:

時間消耗88

program ended with exit code: 0

/*c語言的**,這裡排序方式採用歸併排序*/

#include

#include

#include

int myarry[100];

void

merge(

int*arry,

intleft,

intcenter,

intright)else

}else if (postleft >center)

break;

}else if (postright >right)

break; }

}for (int i = left; i<= right; i++) }

void mergesort(int *arry,int left,int right)

merge(arry, left, mid, right); }

void display(int * arry,int left,int right)

} int main() ;

mergesort(arry, 0,  17); }

printf("time use %lu s\n",time(null) - xx); }

結果一(編譯器優化未開啟):

time use 77 s

program ended with exit code: 0

結果二(編譯器設定為最高優化):

time use 31 s

program ended with exit code: 0

/*go語言的***/

package main

import (

"fmt"

"time"

)var myarry [1000]int

func merfge(arry int,left int,center int ,right int)else

}else if postleft > center

break

}else if postright > right

break}}

for i:= left;i<=right;i++

}func mergesort(arry int ,left int,right int)

merfge(arry,left,mid,right)

}func  display(arry int,num int)

}func main()

mergesort(arry,0,len(arry)-1)

}fmt.println("時間消耗",time.now().second() - now.second(),"秒")

}

結果:

時間消耗 49 秒

process finished with exit code 0

測試結果

程式語言

迴圈次數

時間總消耗c1億

最快31秒

go1億

48秒swift

20萬88秒x500

結論:c語言的效能還是最強悍,swift語言的效能和蘋果官方的的還是有很大差距的

rm命令弱爆了!

建立 刪除和修改檔案是使用者在 linux 系統中執行的非常常見操作。大家都知道,在 linux 系統裡使用 rm 命令刪除單個檔案時,幾乎一瞬間就完成了。但是如果檔案數量很大,那麼刪除操作就需要很長時間才能完成。你有沒想過,刪除 50萬個小檔案,需要花費多少時間?我寫這篇文章的目的,是為了找出在 ...

英國的網路生活弱爆了

初到英國,陶醉於只要明信片中才得一見的景色。更要命的是,如許的美景,你只能用眼睛捕獲,不克不及用相機紀念。我們行駛在鄉下巷子,時速不低於70公里,罕有堵車,亦沒有過剩的 容你小駐攝影,那些電光石火的美景,只能逗留在記憶中。英國人的性情很獨特。他們要麼是以汗青為榮,要麼是素性呆板,故步自封。一路開車北...

大數乘法(完全模擬手工乘法,弱爆了)

這是資料結構與演算法的作業,要求實現乙個能做任意的大數乘法的程式 當時完全不懂分治法和fft,後來還是聽乙個學長說,可以快速大數乘法 汗 一併寫到筆記裡吧 include include include typedef struct data data typedef struct big big ...