Path 1: 535 calls (0.98)

8 (533) 2 (1) 5 (1)

bytes (535)

1def _read_exact(self, n):
2        '''Read exactly *n* bytes from `self._fp`
3
4        This method is required because self._fp may be unbuffered,
5        i.e. return short reads.
6        '''
7
8        data = self._fp.read(n)
9        while len(data) < n:
10            b = self._fp.read(n - len(data))
11            if not b:
12                raise EOFError("Compressed file ended before the "
13                               "end-of-stream marker was reached")
14            data += b
15        return data
            

Path 2: 10 calls (0.02)

8 (10)

EOFError (10)

1def _read_exact(self, n):
2        '''Read exactly *n* bytes from `self._fp`
3
4        This method is required because self._fp may be unbuffered,
5        i.e. return short reads.
6        '''
7
8        data = self._fp.read(n)
9        while len(data) < n:
10            b = self._fp.read(n - len(data))
11            if not b:
12                raise EOFError("Compressed file ended before the "
13                               "end-of-stream marker was reached")
14            data += b
15        return data