christoph2/pyA2L

Extremely slow performance when running in test

8Klaro8 opened this issue · 0 comments

Fact:
When running this lib using robot-framework tests, the pya2l.DB.import_a2l() slows down drastically.

Info:
general info

  • I have a couple of CAN and XCP tests. These tests interact with a hardware which receives and sends CAN signals.
  • Between the master(PC) and slave(target device) there is a 3rd hardware: neoVI Fire 2. The communication goes thru this device.
  • The robot tests are placed in separate directories(got 5 tests, each of them inside separate directory)
  • The tests ran with an automation test tool
  • If the corespondig tests are placed inside one directory and it is run using -m robot, the result/problem is the same.

test info

  • I have 4 robot tests which checks/ sends CAN signals to the hardware.
  • I have 2 XCP tests(one of them is pure XCP, the second one uses XCP and CAN, meaning it uses python-can lib. to open bus and it uses pyxcp to open XCP connection)

test run info

  • When running the 2 XCP related tests, it runs without a problem.
  • When running only CAN related tests, it runs without a problem.
  • When running 3 CAN related tests and the 2 XCP related tests, then at the second XCP related test it takes a lot of time for pya2l.DB.import_a2l() to import a2l file/create a database.
  • When running 2 CAN tests, then 2 XCP tests, it runs without a problem.

Other info

  • Running open_create() and/or using the remove_existing=True option in import_a2l() produces the same result(slowness)

conclusion

  • It seems, that the more CAN/XCP is ran on a single "shot", at once, one after another, then the process of importing/creating DB becomes extremely slow.