In [ ]:
import math
def pycheck_opt(p):
for y in range(2,int(math.sqrt(p))+1):
if p%y==0:
return None
return p
def primes(n):
lst = [pycheck_opt(x) for x in range(2, n)]
return len([v for v in lst if v])
In [ ]:
%%file mp.py
import multiprocessing
import os
import math
import sys
def pycheck_opt(p):
for y in range(2,int(math.sqrt(p))+1):
if p%y==0:
return None
return p
if __name__ == "__main__":
pool = multiprocessing.Pool(processes=4)
lst = pool.map(pycheck_opt, range(2,int(sys.argv[1]))).get()
print len([v for v in lst if v])
In [ ]:
import subprocess
def run(script_file):
print subprocess.Popen('python %s' % script_file, stdout=subprocess.PIPE).communicate()[0]
In [ ]:
n = 1000
print primes(n)
run('mp.py %s'%n)
In [ ]:
n = 10000
%timeit primes(n)
%timeit run('mp.py %s'%n)
In [ ]:
n = 1000000
%timeit primes(n)
%timeit run('mp.py %s'%n)
In [ ]: