[Python-Dev] Python 3.0.1 (io-in-c)
Raymond Hettinger
python at rcn.com
Wed Jan 28 11:03:48 CET 2009
[Scott David Daniels]
> Comparison of three cases (including performance rations):
> MB/S MB/S MB/S
> in C in py3k in 2.7 C/3k 2.7/3k
> ** Text append **
> 10M write 1e6 units at a time 261.00 218.000 1540.000 1.20 7.06
> 20K write one unit at a time 0.983 0.081 1.33 12.08 16.34
> 400K write 20 units at a time 16.000 1.510 22.90 10.60 15.17
> 400K write 4096 units at a time 236.00 118.000 1244.000 2.00 10.54
Do you know why the text-appends fell off so much in the 1st and last cases?
> ** Text input **
> 10M read whole contents at once 89.700 68.700 966.000 1.31 14.06
> 20K read whole contents at once 108.000 70.500 1196.000 1.53 16.96
...
> 400K read one line at a time 71.700 3.690 207.00 19.43 56.10
...
> 400K read whole contents at once 112.000 81.000 841.000 1.38 10.38
> 400K seek forward 1000 units at a time 87.400 67.300 589.000 1.30 8.75
> 400K seek forward one unit at a time 0.090 0.071 0.873 1.28 12.31
Looks like most of these still have substantial falloffs in performance.
Is this part still a work in progress or is this as good as its going to get?
> ** Text overwrite **
> 20K modify one unit at a time 0.296 0.072 1.320 4.09 18.26
> 400K modify 20 units at a time 5.690 1.360 22.500 4.18 16.54
> 400K modify 4096 units at a time 151.000 88.300 509.000 1.71 5.76
Same question on this batch.
Raymond
More information about the Python-Dev
mailing list