Java、Scala和Go语言多线程并发对比测试
2019獨角獸企業重金招聘Python工程師標準>>>
本文試圖記錄下對流行的Java、Scala和Go語言多線程并發對比測試,作為未來項目選擇開發語言的一個參考。
具體的語言對比測試包括:
1)java+concurrent包;
2)java+AKKA1.3包;
3)java+AKKA2.0包;
4)Scala+?AKKA1.3包;?
5)Scala+?AKKA2.0包;?
6) Go+goroutine?
比對目標:1、性能對比;2、編碼難易程度對比。
測試的例子:
1、對1~N的自然數里面統計有多少個質數。采用的算法是把1~N個自然數劃分成多個數據段,然后交給多個子線程去分別累加,最后匯總各個子線程的總數。這樣,可以充分利用多核的強大功能來加速程序的統計。從理論上看,這個例子是CPU資源敏感型的多線程例子。CPU資源越多,程序跑的就越快。例如,雙核的情況下,程序所花時間是單核的一半左右。
由于我的資源有限,只搞了3個測試環境,如下:
測試環境(一):
1、硬件環境:AMD雙核2.8G,4G內存
2、軟件環境:winxp,JDK1.7,Scala2.91,AKKA1.3, AKKA2.0,GO1,
測試環境(二):
1、硬件環境:INTEL酷睿雙核2.4G,4G內存
2、軟件環境:winxp,JDK1.7,Scala2.91,AKKA1.3, AKKA2.0,GO1,
測試環境(三):
1、硬件環境: INTEL酷睿?2.4G,4G內存
2、軟件環境:MAC OS,JDK1.7,Scala2.91,AKKA1.3, AKKA2.0,GO1,
今早,剛剛完成相關代碼編寫和初步測試工作。后面還需要把相關的代碼部署到3個不同的測試環境里面進行測試,并寫出相關的測試報告。
.........................................
測試結果已經出來了,因為太長,就放到下一篇文章里。點擊
Java、Scala和Go語言多線程并發對比測試結果和結論
轉載于:https://my.oschina.net/qinhui99/blog/59025
總結
以上是生活随笔為你收集整理的Java、Scala和Go语言多线程并发对比测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 启动mysql报错
- 下一篇: 快速获取本机IP地址AWK功能