Skip to content

Commit fa1e351

Browse files
refactor: easier to read index logic
1 parent 1755393 commit fa1e351

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

mapbuffer/mapbuffer.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,8 @@ def dict2buf(self, data, compress=None, tobytesfn=None):
281281
if N == 0:
282282
return header
283283

284-
index_length = 2 * N
285-
index = np.zeros((index_length,), dtype=self.dtype)
286-
index[::2] = labels
284+
index = np.zeros((N,2), dtype=self.dtype, order="C")
285+
index[:,0] = labels
287286

288287
noop = lambda x: x
289288
tobytesfn = nvl(tobytesfn, self.tobytesfn, noop)
@@ -311,13 +310,13 @@ def dict2buf(self, data, compress=None, tobytesfn=None):
311310
)
312311

313312
offsets = np.empty_like(lengths)
314-
offsets[0] = HEADER_LENGTH + index_length * 8
313+
offsets[0] = HEADER_LENGTH + index.nbytes
315314
offsets[1:] = offsets[0] + np.cumsum(lengths[:-1])
316-
index[1::2] = offsets
315+
index[:,1] = offsets
317316

318317
del labels
319318

320-
return b"".join([ header, index.tobytes(), data_region ])
319+
return b"".join([ header, index.tobytes('C'), data_region ])
321320

322321
def todict(self):
323322
return { label: val for label, val in self.items() }

0 commit comments

Comments
 (0)