title: Optimize BLF-reader for Python CAN performance
body: <p>I have a big blf file, <code>blf_file.blf</code>, and an associated dbc file, <code>dbc_file.dbc</code>. I need to read and decode all the messages and store them in a list. For this I use the <a href="https://github.com/hardbyte/python-can" rel="nofollow noreferrer">python-can</a> library:</p>
  <pre class="lang-py prettyprint-override"><code>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)
        )
    
  </code></pre>
  <p>However, for my blf files (&gt; 100 MB), this takes up to 5 minutes.</p>
  <p>Is there a way to speed this up? In the end, I want to store every signal in a seperate list, so list comprehension is not an option.</p>