10000 Avoid unpack_from() for a simple slice · benxiaolang-hacker/client_python@db2a7f0 · GitHub
[go: up one dir, main page]

Skip to content

Commit db2a7f0

Browse files
committed
Avoid unpack_from() for a simple slice
Signed-off-by: Aarni Koskela <akx@iki.fi>
1 parent b325a5e commit db2a7f0

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

prometheus_client/mmap_dict.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ def _read_all_values(self):
8181
# on every loop iteration
8282
used = self._used
8383
data = self._m
84-
unpack_from = struct.unpack_from
8584

8685
while pos < used:
8786
encoded_len = _unpack_integer(data, pos)[0]
@@ -90,11 +89,11 @@ def _read_all_values(self):
9089
msg = 'Read beyond file size detected, %s is corrupted.'
9190
raise RuntimeError(msg % self._fname)
9291
pos += 4
93-
encoded = unpack_from(('%ss' % encoded_len).encode(), data, pos)[0]
92+
encoded_key = data[pos : pos + encoded_len]
9493
padded_len = encoded_len + (8 - (encoded_len + 4) % 8)
9594
pos += padded_len
9695
value = _unpack_double(data, pos)[0]
97-
yield encoded.decode('utf-8'), value, pos
96+
yield encoded_key.decode('utf-8'), value, pos
9897
pos += 8
9998

10099
def read_all_values(self):

0 commit comments

Comments
 (0)
0