Re: [問題] MultiThread縮短的時間(內附程式碼)
※ 引述《topwing (Levin)》之銘言:
: 標題: [問題] MultiThread縮短的時間(內附程式碼)
: 時間: Sun Nov 15 23:07:52 2009
:
: 謝謝各位的建議,當初會用兩組是因為想不到怎麼切割,所以才會用兩組下去跑
: 現在忽然發現我用兩組bubble sort下去跑根本就是錯的
: 因為對同一個sorting用multithread下去跑再來比較才具有意義
同一個sorting list,而且要只用同一顆核心下去跑
如果你用兩顆核心跑兩個thread,最後跑出來的效能卻沒有到接近兩倍
除了你買到黑心的OS/CPU之外,很難有其他解釋
:
: 剛剛 剛好研究Quick Sort(其實是要考試.....),剛好n大提醒(謝謝)
: Quick Sort好像也不錯用
: 只是目前我只想的到第一次切割之後分給thread1和thread2
: 之後就直接這樣運行下去,不過應該還有更好的方法
: 不知可否給點建議,感謝!
事實上Qsort不是最適合multi thread化的演算法
因為你不知道什麼時侯左邊和右邊要sort的數目差不多
有可能很衰你一開始就切到100:1
所以heap sort可能是個比較好的選擇
: 推 Mewra:在VS裡加個/MP下去, 看看實際上multi cores的時間. 11/16 01:24
這位同學 /MP是讓VS在Compile的時侯用multi-process去compile
(也就是多開幾個process一次compile許多unit)
要是這樣竟然能增加Compile出來Code的執行效率
這一定是M$社研發出什麼不為人知的外星科技了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.5.35
→
11/16 01:59, , 1F
11/16 01:59, 1F
→
11/16 01:59, , 2F
11/16 01:59, 2F