Оптимизация BLF-ридера для производительности Python CAN - PullRequest
1 голос
/ 17 июня 2019

У меня есть большой blf-файл blf_file.blf и связанный с ним dbc-файл dbc_file.dbc.Мне нужно прочитать и расшифровать все сообщения и сохранить их в списке.Для этого я использую библиотеку python-can :

decoded_mess = []

db = cantools.db.load_file('dbc_file.dbc')

with can.BLFReader('blf_file.blf') as can_log:
  for msg in can_log:
    decoded_mess.append(
      db.decode_message(msg.arbitration_id, msg.data)
      )

Однако для моих blf-файлов (> 100 МБ) это занимает до 5 минут.

Есть ли способ ускорить это?В конце я хочу сохранить каждый сигнал в отдельном списке, так что понимание списка не вариант.

...