mirror of https://github.com/rusefi/opendbc.git
fix parser perf test (#827)
This commit is contained in:
parent
d40e429914
commit
5adb62bf04
|
@ -12,6 +12,7 @@ class TestParser(unittest.TestCase):
|
|||
def _benchmark(self, signals, checks, thresholds, n):
|
||||
parser = CANParser('toyota_new_mc_pt_generated', signals, checks, 0, False)
|
||||
packer = CANPacker('toyota_new_mc_pt_generated')
|
||||
|
||||
can_msgs = []
|
||||
for i in range(50000):
|
||||
values = {"ACC_CONTROL": {"ACC_TYPE": 1, "ALLOW_LONG_PRESS": 3}}
|
||||
|
@ -19,21 +20,25 @@ class TestParser(unittest.TestCase):
|
|||
bts = can_list_to_can_capnp(msgs, logMonoTime=int(0.01 * i * 1e9))
|
||||
can_msgs.append(bts)
|
||||
|
||||
if n > 1:
|
||||
strings = []
|
||||
for i in range(0, len(can_msgs), n):
|
||||
strings.append(can_msgs[i:i + n])
|
||||
t1 = time.process_time_ns()
|
||||
for m in strings:
|
||||
parser.update_strings(m)
|
||||
t2 = time.process_time_ns()
|
||||
else:
|
||||
t1 = time.process_time_ns()
|
||||
for m in can_msgs:
|
||||
parser.update_string(m)
|
||||
t2 = time.process_time_ns()
|
||||
ets = []
|
||||
for _ in range(25):
|
||||
if n > 1:
|
||||
strings = []
|
||||
for i in range(0, len(can_msgs), n):
|
||||
strings.append(can_msgs[i:i + n])
|
||||
t1 = time.process_time_ns()
|
||||
for m in strings:
|
||||
parser.update_strings(m)
|
||||
t2 = time.process_time_ns()
|
||||
else:
|
||||
t1 = time.process_time_ns()
|
||||
for m in can_msgs:
|
||||
parser.update_string(m)
|
||||
t2 = time.process_time_ns()
|
||||
|
||||
et = t2 - t1
|
||||
ets.append(t2 - t1)
|
||||
|
||||
et = sum(ets) / len(ets)
|
||||
avg_nanos = et / len(can_msgs)
|
||||
method = 'update_strings' if n > 1 else 'update_string'
|
||||
print('%s: [%s] %.1fms to parse %s, avg: %dns' % (self._testMethodName, method, et/1e6, len(can_msgs), avg_nanos))
|
||||
|
|
Loading…
Reference in New Issue