第一屆淘寶併發程式設計比賽-多執行緒排序效能優化
阿新 • • 發佈:2018-12-23
去年一粟在淘寶內部組織了第一屆淘寶併發程式設計比賽。
裡面已經有可執行的程式碼,在一粟的機器上(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名淘寶同學的程式碼,以及第一名的優化分享。