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

Remove shared_mutexes to address concurrency performance #195

Merged
merged 1 commit into from
May 24, 2023

Conversation

glpuga
Copy link
Collaborator

@glpuga glpuga commented May 23, 2023

Proposed changes

Removes the shared_mutex locks, that were not currently in use since there's no concurrency in how different steps of the filter are applied, but that was causing performance issues.

Type of change

  • 🐛 Bugfix (change which fixes an issue)
  • 🚀 Feature (change which adds functionality)
  • 📚 Documentation (change which fixes or extends documentation)

Checklist

Put an x in the boxes that apply. This is simply a reminder of what we will require before merging your code.

  • Lint and unit tests (if any) pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • All commmits have been signed for DCO

Additional comments

Pre (before change) and post (after change) performance of the node.

Likelihood Sensor Model (linear scale)

likelihood_linear

Likelihood Sensor Model (log scale)

likelihood_log

Beam Sensor Model (linear scale)

beam_linear

Beam Sensor Model (log scale)

beam_log

@glpuga glpuga changed the title Remove shared_mutexes to address concurrent performance Remove shared_mutexes to address concurrency performance May 23, 2023
Copy link
Collaborator

@ivanpauno ivanpauno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides the updates needed in the readme, LGTM!

Signed-off-by: Gerardo Puga <glpuga@ekumenlabs.com>
@glpuga glpuga marked this pull request as ready for review May 23, 2023 22:59
@nahueespinosa nahueespinosa added enhancement New feature or request cpp Related to C++ code labels May 23, 2023
@glpuga glpuga merged commit d5a9554 into main May 24, 2023
5 checks passed
@glpuga glpuga deleted the glpuga/remove_locks branch May 24, 2023 00:06
glpuga added a commit that referenced this pull request Jun 4, 2023
Adds an updated report including the following changes from the last:

- Includes the changes merged in #195 #199 #200 #207 
- Measured using the 1x replay speed to prevent distortions to the CPU
results
- Fixes typos in configuration files, found during review

Signed-off-by: Gerardo Puga <glpuga@ekumenlabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpp Related to C++ code enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants