Browse Source

stdpy: fix bad performance reading all data from file

See Moguri/panda3d-gltf#31
rdb 6 years ago
parent
commit
099be1f652
1 changed files with 4 additions and 4 deletions
  1. 4 4
      direct/src/stdpy/file.py

+ 4 - 4
direct/src/stdpy/file.py

@@ -247,13 +247,13 @@ class StreamIOWrapper(io.IOBase):
         self.__stream.clear()  # clear eof flag
         self.__stream.clear()  # clear eof flag
         self.__lastWrite = False
         self.__lastWrite = False
         if size is not None and size >= 0:
         if size is not None and size >= 0:
-            result = self.__reader.extractBytes(size)
+            return self.__reader.extractBytes(size)
         else:
         else:
             # Read to end-of-file.
             # Read to end-of-file.
-            result = b''
+            result = bytearray()
             while not self.__stream.eof():
             while not self.__stream.eof():
-                result += self.__reader.extractBytes(512)
-        return result
+                result += self.__reader.extractBytes(4096)
+            return bytes(result)
 
 
     read1 = read
     read1 = read