Issue 1501108: Add write buffering to gzip (original) (raw)
In the test script, simply changing
def emit(f, data=snips): for datum in data: f.write(datum)
to
def gemit(f, data=snips): datas = ''.join(data) f.write(datas)
improves direct gzip performance from [1.1799781322479248, 0.50524115562438965, 0.2713780403137207] [1.183434009552002, 0.50997591018676758, 0.26801109313964844] [1.173914909362793, 0.51325297355651855, 0.26233196258544922]
to
[0.43065404891967773, 0.50007486343383789, 0.26698708534240723] [0.43662095069885254, 0.49983596801757812, 0.2686460018157959] [0.43778109550476074, 0.50057196617126465, 0.2687230110168457]
which means that you're better off letting the application handle buffering issues. Furthermore, the problem with gzip-level buffering is the choice of the default buffer size.
Time to close ?