Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Time panel gap-detector very slow in VRS example on log_tick timeline #5162

Closed
emilk opened this issue Feb 9, 2024 · 0 comments · Fixed by #7082
Closed

Time panel gap-detector very slow in VRS example on log_tick timeline #5162

emilk opened this issue Feb 9, 2024 · 0 comments · Fixed by #7082
Assignees
Labels
examples Issues relating to the Rerun examples 🚀 performance Optimization, memory use, etc

Comments

@emilk
Copy link
Member

emilk commented Feb 9, 2024

https://github.com/rerun-io/cpp-example-vrs

On some timelines (e.g. log_tick):

image

We should be able to make that gap estimator smarter. It works well for sparse data when there are many gaps, but for dense data with no gaps, it looks for too long for gaps.

An easy thing to dd is for re_int_histogram to keep track of how many unique keys are set. If that is more or equal to the full range, then there can be no gaps, so we can early-out.

@emilk emilk added 🚀 performance Optimization, memory use, etc examples Issues relating to the Rerun examples labels Feb 9, 2024
@emilk emilk changed the title Time panel slow in VRS example Time panel very slow in VRS example on log_tick timeline Feb 9, 2024
@emilk emilk changed the title Time panel very slow in VRS example on log_tick timeline Time panel gap-detector very slow in VRS example on log_tick timeline Aug 5, 2024
@emilk emilk self-assigned this Aug 5, 2024
emilk added a commit that referenced this issue Aug 7, 2024
### What
* Closes #5162

We hit a specially bad case looking for small gaps on dense timeliens,
like on `log_tick`.

The new code does an early-out when the gap we're looking for becomes
much smaller than the total time of the (non-gap) data.

### 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 examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/7082?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/7082?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
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!
* [x] If have noted any breaking changes to the log API in
`CHANGELOG.md` and the migration guide

- [PR Build Summary](https://build.rerun.io/pr/7082)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
examples Issues relating to the Rerun examples 🚀 performance Optimization, memory use, etc
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant