I tried this: from timeit import *
#Try readlines print Timer('import gzip;lines=gzip.GzipFile("gztest.txt.gz").readlines();[i+"1" for i in lines]').timeit(200) # This is one line # Try file object - uses buffering? print Timer('import gzip;[i+"1" for i in gzip.GzipFile("gztest.txt.gz")]').timeit(200) # This is one line Produces: 3.90938591957 3.98982691765 Doesn't seem much difference, probably because the test file easily gets into memory, and so disk buffering has no effect. The file "gztest.txt.gz" is a gzipped file with 1000 lines, each being "This is a test file". -- http://mail.python.org/mailman/listinfo/python-list