蘋果剛推出了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 ...