hardbyte / python-can

The can package provides controller area network support for Python developers
https://python-can.readthedocs.io
GNU Lesser General Public License v3.0
1.27k stars 598 forks source link

ASCWriter speed improvement #1856

Closed pierreluctg closed 2 weeks ago

pierreluctg commented 2 weeks ago

Changed how the message data is converted to string.

Main

$ python -m timeit -s "import can; writer=can.ASCWriter('test.asc')" "writer(can.Message(data=range(64)))"
20000 loops, best of 5: 10.8 usec per loop

This PR

$ python -m timeit -s "import can; writer=can.ASCWriter('test.asc')" "writer(can.Message(data=range(64)))"
50000 loops, best of 5: 3.97 usec per loop