Differences between revisions 2 and 3
Revision 2 as of 2013-04-18 17:07:44
Size: 1295
Editor: 152
Comment:
Revision 3 as of 2013-04-18 17:20:39
Size: 1155
Editor: 152
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
Python multiprocessing 해보면서 신기해하는 중. 아래 코드를 보자. Python multiprocessing 해보면서 신기해하는 중. Pool 인스턴스 메쏘드 imap이 이터러티브하게 결과를 내 놓으면서 입력도 이터레이터를 받을 수 있음을 알았다. 즉 이터러티브하게 병렬 프로세싱이 가능하다는. 아래 코드를 보자. 
Line 14: Line 14:
from multiprocessing import Pool, cpu_count
import time
import random
import sys
from multiprocessing import Pool
Line 18: Line 17:
def f(x):
    sec = random.choice([1,2,3])
    print 'before ', x, 'wait %s sec' % sec
    time.sleep(sec)
    print 'after ', x
    return x*x
def upper(line):
    return line.upper()
Line 25: Line 20:
def aa():
    i = 0
    while i < 20:
        yield i
        i += 1

if __name__ == '__main__':
    pool = Pool(processes=4)
    for each in pool.imap(f, aa()):
        print each
p = Pool(processes=4)
for line in p.imap(upper, sys.stdin):
    sys.stdout.write(line)
Line 37: Line 25:
이 코드를 돌려보면 4개 프로세스를 비동기적으로 유지하면서 이터러티브하게 입력을 받아 출력을 낸다. 괜찮네. 대량 반복 처리할 뭔가가 있다면 [[Generator]]를 만들고 가를 Pool().imap의 인수로 넘김. 파일을 라인단위로 읽어 대문자로 바꿔주는데 4개 프로세스로 진행된다. 이터러티브하게. (순서는 보장안함)

(<-)

../2013-03

../2013-05

(->)

2013 / April
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
-1- -2- -3- -4- -5- -6-
SMD
-7- -8- -9- -10- -11- -12- -13-
-14- -15- -16- -17- -18- -19- -20-
-21- -22- -23- -24- -25- -26- -27-
-28- -29- -30-


2013-04-03

해남으로 가는 버스안. 아이폰 USB 테더링이 안되서 Wifi로 연결중. http://ani2life.com/wp/?p=593 에 보면 뭔가 깔아서 설치하라는데 설치하려니 보안 오류. 그냥 구찮아서 와이파이로 인터넷

2013-04-18

Python multiprocessing 해보면서 신기해하는 중. Pool 인스턴스 메쏘드 imap이 이터러티브하게 결과를 내 놓으면서 입력도 이터레이터를 받을 수 있음을 알았다. 즉 이터러티브하게 병렬 프로세싱이 가능하다는. 아래 코드를 보자.

   1 import sys
   2 from multiprocessing import Pool
   3 
   4 def upper(line):
   5     return line.upper()
   6 
   7 p = Pool(processes=4)
   8 for line in p.imap(upper, sys.stdin):
   9     sys.stdout.write(line)

파일을 라인단위로 읽어 대문자로 바꿔주는데 4개 프로세스로 진행된다. 이터러티브하게. (순서는 보장안함)


(<-)

../2013-03

../2013-05

(->)


CategoryWebLogYong

yong27/2013-04 (last edited 2013-04-25 09:16:37 by 61)

web biohackers.net