import hashlib, threading, time class Hasher(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.setDaemon(True) self.start() def run(self): md = hashlib.sha1() buf = b'a'*1024*1024 for i in range(1000): md.update(buf) print(md.hexdigest()) teststring = 'bla'.encode() md = hashlib.new('md5', teststring) print(md.hexdigest()) md = hashlib.new('md5') md.update(teststring) print(md.hexdigest()) md = hashlib.md5(teststring) print(md.hexdigest()) md = hashlib.md5() md.update(teststring) print(md.hexdigest()) t = time.time() threads = [Hasher() for i in range(2)] for thread in threads: thread.join() print(time.time() - t)