import sys import time if sys.version_info[0] == 2: import cPickle as pickle else: import pickle lst = [0]*10**6 for proto in (0, 1, 2): print("Protocol %s" % proto) bench = [] for loop in range(5): f = open("tst", "wb") t = time.time() pickle.dump(lst, f, protocol=proto) bench.append(time.time()-t) f.close() print("- dump: %.1f ms" % (min(bench) * 1000,)) for seekable in (False, True): bench = [] for loop in range(5): f = open("tst", "rb") f.seekable=lambda: seekable t = time.time() pickle.load(f) bench.append(time.time()-t) f.close() print("- load (seekable=%s): %.1f ms" % (seekable, min(bench) * 1000)) print()