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

Skip to content

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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