import zlib, threading, time class Compressor(threading.Thread): def __init__(self, compressobj): threading.Thread.__init__(self) self.dummy = '\00' * ((1024*10)+1) self.co = compressobj self.start() def run(self): for i in range(5000): self.co.compress(self.dummy) zlib.adler32(self.dummy) zlib.crc32(self.dummy) if __name__ == "__main__": t = time.time() co = zlib.compressobj() compressors = [Compressor(co) for i in range(10)] for c in compressors: c.join() print("Done: %.2f" % (time.time() - t))