[問題] 平行化與陣列

看板C_and_CPP (C/C++)作者 (JJ)時間14年前 (2012/06/01 23:23), 編輯推噓2(205)
留言7則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) pthread 原po正在把一個C語言的程式改成平行化的版本 利用 pthread 原po將程式原使用的許多變數改成陣列 如 int a --> int* a a = 1 --> a[thread] = 1 陣列的宣告大小則視使用者自訂的 thread 數 並沒有改變到程式的演算法 但當原po執行平行化版本,使用一個 thread 時 執行的時間卻為原本程式的四倍! 原本版本花費約為15秒的時間 , 1 thread 平行化版本執行時間卻為 ~60秒 原po有另外寫一個小程式用foor loop累加去測試陣列和變數的讀寫時間的差異, 但發現兩者讀寫時間的差異並不大,陣列甚至比變數讀寫更為快速 想請問各位版友可否想出問題是出在哪裡 由於程式碼超過 10,000行 所以就不貼上 很感謝大家的幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.163.49

06/01 23:33, , 1F
叫張寶成來幫你吧
06/01 23:33, 1F

06/01 23:35, , 2F
沒程式很難判斷,只能說平行化絕對不是萬能丹
06/01 23:35, 2F

06/02 00:19, , 3F
我不會隔空抓藥...
06/02 00:19, 3F

06/02 00:35, , 4F
我猜有很多a=malloc跟free(a)
06/02 00:35, 4F

06/02 01:05, , 5F
1F 的梗我竟然看得懂 orz
06/02 01:05, 5F

06/02 01:45, , 6F
看樓上樂著~
06/02 01:45, 6F

06/02 13:19, , 7F
誰能幫原po抓藥我也很期待XD
06/02 13:19, 7F
文章代碼(AID): #1FoDvO9L (C_and_CPP)
文章代碼(AID): #1FoDvO9L (C_and_CPP)