Threadとmultiprocess、同期(Sync)の処理時間を比較する
| 登録日 | :2023/09/26 06:25 |
|---|---|
| カテゴリ | :Python基礎 |
並列処理(Threadとmutltiprocess)と同期処理(逐次処理)の処理時間を比較するサンプルプログラム
適当な関数処理の定義
def worker():
print('start')
time.sleep(2)
print('end')
逐次処理(sync)の場合
if __name__ == '__main__':
start = time.time()
# sync
worker()
worker()
end = time.time()
print('time {: 4f}\n'.format(end - start))
threadingの場合
import threading
import time
if __name__ == '__main__':
start = time.time()
# sync
# worker()
# worker()
# threading
t1 = threading.Thread(target=worker)
t2 = threading.Thread(target=worker)
t1.start()
t2.start()
t1.join()
t2.join()
end = time.time()
print('time {: 4f}\n'.format(end - start))
multiprocessの場合
import multiprocessing
import time
if __name__ == '__main__':
start = time.time()
# multiprocess
p1 = multiprocessing.Process(target=worker)
p2 = multiprocessing.Process(target=worker)
p1.start()
p2.start()
p1.join()
p2.join()
end = time.time()
print('time {: 4f}\n'.format(end - start))