-
Notifications
You must be signed in to change notification settings - Fork 612
Description
Keep things super simple and do end-to-end profing: Profile running a benchmark binary that internally has a bunch of test cases. This way we can integrate results from all benchmarks in the same way into our CI generated benchmark stats.
We execute it with different parameters to check for different test cases.
Basic set of test cases we should start with:
- log a lot of scalars with different time
- log a point cloud
- log an image
In all cases (unless configured otherwise) log to a memory recording. (profiling other parts of the flow should be part of a different Rust benchmark)
Since we want to simply time process from spawn to end must make sure that data generation is super fast. Maybe print out additional timings in each language where appropriate - this is harder to integrate into CI graphs, but nice for debugging.
Ideally same data on all SDKs. There might be variations though in logging flow that don't map to each of them.