1. 程式人生 > >第一屆淘寶併發程式設計比賽-多執行緒排序效能優化

第一屆淘寶併發程式設計比賽-多執行緒排序效能優化

去年一粟在淘寶內部組織了第一屆淘寶併發程式設計比賽。

裡面已經有可執行的程式碼,在一粟的機器上(RMBP 2012: 2.7 GHz Intel Core i7)執行速度如下:

16:07:49 hugo-rmbp ~/Projects/hugozhu/WordSorter/Go $ go run main.go  128 sowpods.txt out.txt
WordSort finished in <strong>335 ms</strong>

16:07:19 hugo-rmbp ~/Projects/hugozhu/WordSorter/Java $ java Sort 128 sowpods.txt out.txt
Loading contents of sowpods.txt... 170ms
Sorting... 222ms
Writing results to out.txt... 135ms

Using 128 threads, 267751 words was sorted in <strong>528</strong> milliseconds.

Java落後很多, 但看實現I/O部分耗費了一半多的時間,我們可以來優化一下Java實現:提高一下I/O效能,或者試一下Fork/Join框架,請大家都試試,把優化結果貼上來比較。

程式碼可以上傳到github或google code,taocode等地方,然後貼一個連結上來,實現不限語言。

感興趣的朋友可以一起做一下,過段時間本網站會分享本屆比賽前2名淘寶同學的程式碼,以及第一名的優化分享。


方 騰飛

花名清英,併發網(ifeve.com)創始人,暢銷書《Java併發程式設計的藝術》作者,螞蟻金服技術專家。目前工作於支付寶微貸事業部,關注網際網路金融,併發程式設計和敏捷實踐。微信公眾號aliqinying。