Re: [問題] python multiProcess效能很差?
經過大家的提醒,我修改了我的代碼如下
if __name__ == "__main__":
content = input_file(target).split("\n")
content = manager.list(content)
for files in source:
obj_grab.append((LogCatcher(files), content))
pool = Pool()
pool.map(transferConcat, obj_grab)
pool.close()
pool.join()
def concatMessage(logCatcher, content):
for key in logCatcher.dic_map:
regex = re.compile(key)
for j in range(len(content)):
for m in re.finditer(regex, content[j]):
content[j] += logCatcher.index + obj_grab.dic_map[key]
def transferConcat(args):
return concatMessage(*args)
結果變82秒....
人生已經如此的艱難...
請問這裡哪一步又做錯了呢?
------------------------------------------------------------------------
補充:obj_grab是一個list,裡面放不同file input產生的logCatcher
content是我要改的file,用manager()宣告是要讓不同process同時修改
※ 引述《ntuleo (里歐)》之銘言:
: 主要是參考segmentfault的這篇
: http://segmentfault.com/a/1190000000414339
: 看起來很有效,可是實際...
: if __name__ == "__name__":
: pool = Pool()
: content = pool.map(transferConcat, [(obj_grab, content)])[0]
: pool.close()
: pool.join()
: def concatMessage(obj_grab, content):
: for logCatcher in obj_grab:
: for key in logCatcher.dic_map:
: regex = re.compile(key)
: for j in range(len(content)):
: for m in re.finditer(regex, content[j]):
: content[j] += " " + logCatcher.index + " " + logCatcher.dic_map[key]
: return content
: def transferConcat(args):
: return concatMessage(*args)
: 以上是我的代碼(部分,只貼問題點),執行時間22秒
: 若單純執行method大概也是22秒...等於沒加速...
: 我試過調整pool的數量,沒什麼效果
: 請問要怎麼做才能真正體現mulitiProcess的效能呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.50.98
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1430271720.A.120.html
→
04/29 12:48, , 1F
04/29 12:48, 1F
→
04/29 12:49, , 2F
04/29 12:49, 2F
推
04/29 12:59, , 3F
04/29 12:59, 3F
推
04/29 13:01, , 4F
04/29 13:01, 4F
→
04/29 13:01, , 5F
04/29 13:01, 5F
※ 編輯: ntuleo (124.219.31.93), 04/29/2015 19:30:32
→
04/29 19:31, , 6F
04/29 19:31, 6F
推
04/29 19:42, , 7F
04/29 19:42, 7F
→
04/29 19:45, , 8F
04/29 19:45, 8F
推
04/29 20:01, , 9F
04/29 20:01, 9F
→
04/29 20:02, , 10F
04/29 20:02, 10F
→
04/29 20:02, , 11F
04/29 20:02, 11F
→
04/29 20:03, , 12F
04/29 20:03, 12F
→
04/29 20:03, , 13F
04/29 20:03, 13F
→
04/29 20:04, , 14F
04/29 20:04, 14F
→
04/29 20:04, , 15F
04/29 20:04, 15F
→
04/29 20:05, , 16F
04/29 20:05, 16F
→
04/29 20:05, , 17F
04/29 20:05, 17F
→
04/29 20:05, , 18F
04/29 20:05, 18F
→
04/29 20:05, , 19F
04/29 20:05, 19F
→
04/29 20:05, , 20F
04/29 20:05, 20F
→
04/29 20:07, , 21F
04/29 20:07, 21F
→
04/29 20:07, , 22F
04/29 20:07, 22F
→
04/29 20:07, , 23F
04/29 20:07, 23F
→
04/29 20:09, , 24F
04/29 20:09, 24F
→
04/29 20:09, , 25F
04/29 20:09, 25F
→
04/29 20:10, , 26F
04/29 20:10, 26F
→
04/29 20:11, , 27F
04/29 20:11, 27F
→
04/29 20:12, , 28F
04/29 20:12, 28F
推
04/29 20:16, , 29F
04/29 20:16, 29F
→
04/29 20:17, , 30F
04/29 20:17, 30F
→
04/29 20:17, , 31F
04/29 20:17, 31F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 4 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章