Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Only recompute space-view heuristics if something has changed #3110

Open
jleibs opened this issue Aug 25, 2023 · 2 comments
Open

Only recompute space-view heuristics if something has changed #3110

jleibs opened this issue Aug 25, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request 🚀 performance Optimization, memory use, etc 📺 re_viewer affects re_viewer itself

Comments

@jleibs
Copy link
Member

jleibs commented Aug 25, 2023

Specifically, entities_per_system_per_class (and the things it depends on) can be trivially cached if we have not inserted any new components in the data-store.

An easy cache-key for this is to simply sum the number of components across all entity-paths.

@jleibs jleibs added enhancement New feature or request 📺 re_viewer affects re_viewer itself 🚀 performance Optimization, memory use, etc labels Aug 25, 2023
@emilk emilk changed the title Don't recompute space-view heuristics if nothing has changed Only recompute space-view heuristics if something has changed Aug 25, 2023
@jleibs
Copy link
Member Author

jleibs commented Nov 28, 2023

This is very related to the new store view functionality.

@Wumpf
Copy link
Member

Wumpf commented Dec 12, 2023

Related (almost duplicate to):

Wumpf added a commit that referenced this issue Dec 16, 2023
…ist of entities per system incrementally (#4558)

### What

* Part of  #3110

Turns out this doesn't result in a large perf win so far since in
samples like ` python
.\examples\python\open_photogrammetry_format\main.py --no-frames ` the
accumulated cost of doing queries in `all_possible_space_views`
overshadows any of these smaller wins. Furthermore, the biggest of
getting the per-entities list seems to be the queries necessary to call
`heuristic_filter` for each entity.
Still, this is an important step for our general dataflow &
infrastructure in this area!

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using newly built examples:
[app.rerun.io](https://app.rerun.io/pr/4558/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/4558/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[app.rerun.io](https://app.rerun.io/pr/4558/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4558)
- [Docs
preview](https://rerun.io/preview/1493e68738be62586a7012eb970f6206eb16e638/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/1493e68738be62586a7012eb970f6206eb16e638/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

---------

Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
@Wumpf Wumpf self-assigned this Dec 13, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request 🚀 performance Optimization, memory use, etc 📺 re_viewer affects re_viewer itself
Projects
None yet
Development

No branches or pull requests

2 participants