logreader.py: optimize event loading and sorting in _LogFileReader (#32729)

* improve logfilereader

* less changes
pull/32730/head
Dean Lee 11 months ago committed by GitHub
parent 8065b454c9
commit c64bca97ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 8
      tools/lib/logreader.py

@ -46,15 +46,15 @@ class _LogFileReader:
ents = capnp_log.Event.read_multiple_bytes(dat) ents = capnp_log.Event.read_multiple_bytes(dat)
_ents = [] self._ents = []
try: try:
for e in ents: for e in ents:
_ents.append(e) self._ents.append(e)
except capnp.KjException: except capnp.KjException:
warnings.warn("Corrupted events detected", RuntimeWarning, stacklevel=1) warnings.warn("Corrupted events detected", RuntimeWarning, stacklevel=1)
self._ents = list(sorted(_ents, key=lambda x: x.logMonoTime) if sort_by_time else _ents) if sort_by_time:
self._ts = [x.logMonoTime for x in self._ents] self._ents.sort(key=lambda x: x.logMonoTime)
def __iter__(self) -> Iterator[capnp._DynamicStructReader]: def __iter__(self) -> Iterator[capnp._DynamicStructReader]:
for ent in self._ents: for ent in self._ents:

Loading…
Cancel
Save