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

[WIP] Add ComponentPath overrides to Component interface #3782

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

adamkewley
Copy link
Contributor

@adamkewley adamkewley commented May 8, 2024

… and integrate into Millard muscles and scalar actuators

Brief summary of changes

  • Adds ComponentPath overrides for path-dependent parts of Component's public interface
  • Changes Millard muscles, and scalar actuators to use ComponentPath, rather than std::string, so that the path is pre-parsed ahead of time, which can improve performance
  • Performance numbers WIP

Testing I've completed

  • Existing test suite
  • Basic tests for overloads WIP

Looking for feedback on...

CHANGELOG.md (choose one)

  • WIP

This change is Reviewable

@adamkewley
Copy link
Contributor Author

Speedup appears to be roughly 5 % on Rajagopal, which uses MillardEquilibriumMuscle:

Test Name lhs [secs] σ [secs] rhs [secs] σ [secs] Speedup
ToyDropLanding_nomuscles 0.04 0.00 0.04 0.00 1.11
RajagopalModel 3.82 0.00 3.59 0.00 1.06
Gait2354 0.20 0.00 0.19 0.00 1.03
passive_dynamic_noanalysis 1.22 0.00 1.23 0.00 1.00
passive_dynamic 1.83 0.00 1.82 0.00 1.00
Arm26 0.17 0.00 0.16 0.00 1.03
ToyDropLanding 0.04 0.00 0.04 0.00 1.02

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant