Skip to content

Instantly share code, notes, and snippets.

@huklee
Last active March 6, 2017 12:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save huklee/9685eba85d9cce172619bae14c9191c6 to your computer and use it in GitHub Desktop.
Save huklee/9685eba85d9cce172619bae14c9191c6 to your computer and use it in GitHub Desktop.
multi-processes pool worker test
from multiprocessing.dummy import Pool as ThreadPool
import time
class timer:
def timerStart(self):
self.start = time.time()
def timerEnd(self):
self.end = time.time()
print(str(self.end - self.start),"sec elapsed")
# function to be mapped over
def f(x):
return x*x
if __name__ == '__main__':
t = timer()
pool = ThreadPool(processes=4) # start 4 worker processes
result = pool.apply_async(f, [10]) # evaluate "f(10)" asynchronously
print (result.get(timeout=1)) # prints "100" unless your computer is *very* slow
pool = ThreadPool(processes=1) # start 1 worker processes
t.timerStart()
a = pool.map(f, range(10**6))
t.timerEnd()
pool = ThreadPool(processes=2) # start 2 worker processes
t.timerStart()
a = pool.map(f, range(10**6))
t.timerEnd()
pool = ThreadPool(processes=4) # start 4 worker processes
t.timerStart()
a = pool.map(f, range(10**6))
t.timerEnd()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment