Can parellelized program run slower than single process program?

Yesterday Paid howmuchistoday at gmail.com
Thu Jun 21 01:05:42 EDT 2012


from multiprocessing import Pool
from itertools import product

def sym(lst):
    x,y=lst
    tmp=x*y
    if rec(tmp):
        return tmp
    else:
        return None

def rec(num):
    num=str(num)
    if num == "".join(reversed(num)):    return True
    else:    return False

if __name__ == "__main__":
    pool=Pool(processes=8)
    lst=product(xrange(100,1000),repeat=2)
    rst=pool.map(sym,lst)
    #rst=sym(lst)
    print max(rst)


in my old computer(2006),
when run it on single process, it takes 2 seconds
but using multiprocessing.pool, it takes almost 8 or 9 seconds
is it possible?



More information about the Python-list mailing list