import bz2, time t0 = time.time() with bz2.open("test.bz2", 'rb') as f: # 250k / sec for i, l in enumerate(f): if i % 100000 == 0: print('%i lines/sec' % (i/(time.time() - t0)))