• Lars Gustäbel's avatar
    Merged revisions 88528 via svnmerge from · 9f6cbe09
    Lars Gustäbel yazdı
    svn+ssh://pythondev@svn.python.org/python/branches/py3k
    
    ........
      r88528 | lars.gustaebel | 2011-02-23 12:42:22 +0100 (Wed, 23 Feb 2011) | 16 lines
    
      Issue #11224: Improved sparse file read support (r85916) introduced a
      regression in _FileInFile which is used in file-like objects returned
      by TarFile.extractfile(). The inefficient design of the
      _FileInFile.read() method causes various dramatic side-effects and
      errors:
    
        - The data segment of a file member is read completely into memory
          every(!) time a small block is accessed. This is not only slow
          but may cause unexpected MemoryErrors with very large files.
        - Reading members from compressed tar archives is even slower
          because of the excessive backwards seeking which is done when the
          same data segment is read over and over again.
        - As a backwards seek on a TarFile opened in stream mode is not
          possible, using extractfile() fails with a StreamError.
    ........
    9f6cbe09
tarfile.py 90.2 KB