Skip to content

Performance and Packaging Benchmarking and Integration Tests  #428

Open
@vkresch

Description

@vkresch

Describe the feature

In accordance to the WP Performance and Packaging we need benchmarks to decide if certain features are worth considering. Like flatbuffers (#427), delta encodings or type optimization. Furthermore OSI does not have any unit and integration tests (only format/linter checker and smoke test). Developers do not currently know when they add new features to OSI if it adds overhead and slows it down or speeds it up.

Describe the solution you would like

A solution to that would be implementing a base integration test pipeline into the CI which decodes and encodes differtent type of OSI files and writes them to disk. See the graph below:
Benchmark Pipeline

We would than measure the time of the green highlighted part of the pipeline and compare them accordingly. Also the size of the file can be measured.

Todos would be (for the base pipeline):

  • Implement a open source scenario generator (python scenario generator for generating for example traces with 1000 moving objects/1000 stationary objects ...). Here is a simple way of generating scenarios which would need to be extended in a user friendly way. The scenario generator would be also a good way to show how to generate scenarios which can be visualized by OSI visualizer for new user. See this issue (OSI Examples #398).
  • Implement a base model for a simple transformation to the host vehicle in python or/and C++ (at the start a simple mapping could also be done). It's important to keep the model implementation as generic as possible so that it can be reused in each pipeline hence the encoding and decoding should be modified according to the piepline type.
  • Add the pipeline to the current CI

Describe alternatives you have considered

Another way of testing would not only be local but through a communication protocol like TCP and then measure the time. But it would be not easy to implement it in the current CI.

Describe the backwards compatibility

The backwards compatibility would also be tested by the integration tests and can be thus detected. This feature would not break anything since it is a benchmark test.

Metadata

Metadata

Assignees

Labels

FeatureRequestProposals which enhance the interface or add additional features.Performance&PackagingThe Group in the ASAM development project working on improving OSI performance.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions