rerun
rerun copied to clipboard
Optimize point clouds
In the nyud example, SceneSpatial::load_objects goes from 8.5ms to 16ms.
Classic:

Arrow:

TODO:
- [ ] Improve
crates/re_query/benches/query_benchmark.rswith benchmarks of:- [x] full primary and full secondary
- [ ] full primary and sparse secondary
- [ ] full primary and splat secondary
- [ ] full primary and missing secondary
- [ ] Realistic point cloud benchmark, similar to nyud and/or colmap, using actual
Points3DPart::load - [ ] Write tests for
ComponentJoinedIterator:- [ ] full primary and full secondary
- [ ] full primary and sparse secondary
- [ ] full primary and splat secondary
- [ ] full primary and missing secondary
- [ ] Optimize
ComponentJoinedIterator:- Special case for the common case when the instance keys are identical (no need to compare them - if they are same length, and starts and end on the same key, with the length as the difference, then they are the same)
Some of this optimization work will be easier once we remove the "classic" store
Thanks to https://github.com/rerun-io/rerun/pull/1064 we are now down to 9 ms, which is within the noise of the classic store:

…but I still think we should spend a few hours making a benchmark and see if there are any low-hanging fruit in ComponentJoinedIterator
- Closing in favor of https://github.com/rerun-io/rerun/issues/1136