mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
TextIO improvement:
- 25% speed increse in tell(); - f.seek(0, 1) now maps to f.seek(f.tell(), 0) instead of to f.tell().
This commit is contained in:
parent
57b39e0916
commit
aa43ed95cd
@ -992,8 +992,9 @@ class TextIOWrapper(TextIOBase):
|
||||
return self._encode_decoder_state(decoder_state, position)
|
||||
decoder = pickle.loads(decoder_state)
|
||||
n = 0
|
||||
for i, b in enumerate(readahead):
|
||||
n += len(decoder.decode(bytes([b])))
|
||||
bb = bytes(1)
|
||||
for i, bb[0] in enumerate(readahead):
|
||||
n += len(decoder.decode(bb))
|
||||
if n >= needed:
|
||||
decoder_state = pickle.dumps(decoder, 2)
|
||||
return self._encode_decoder_state(decoder_state, position+i+1)
|
||||
@ -1005,7 +1006,8 @@ class TextIOWrapper(TextIOBase):
|
||||
if whence == 1:
|
||||
if pos != 0:
|
||||
raise IOError("Can't do nonzero cur-relative seeks")
|
||||
return self.tell()
|
||||
pos = self.tell()
|
||||
whence = 0
|
||||
if whence == 2:
|
||||
if pos != 0:
|
||||
raise IOError("Can't do nonzero end-relative seeks")
|
||||
|
Loading…
Reference in New Issue
Block a user