aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver
diff options
context:
space:
mode:
authorThierry Berger <contact@thierryberger.com>2024-11-19 16:33:26 +0100
committerGitHub <noreply@github.com>2024-11-19 16:33:26 +0100
commit510237cc29ebc667a8c158ef0340b7d1aa669a72 (patch)
tree772daf3fac2e463eba254900001fce5a659f2f92 /src/dynamics/solver
parentff79f4c67478f8c8045464cac22f9e57388cd4a0 (diff)
downloadrapier-510237cc29ebc667a8c158ef0340b7d1aa669a72.tar.gz
rapier-510237cc29ebc667a8c158ef0340b7d1aa669a72.tar.bz2
rapier-510237cc29ebc667a8c158ef0340b7d1aa669a72.zip
Profiling support (#743)
Diffstat (limited to 'src/dynamics/solver')
-rw-r--r--src/dynamics/solver/contact_constraint/contact_constraints_set.rs4
-rw-r--r--src/dynamics/solver/contact_constraint/generic_one_body_constraint.rs1
-rw-r--r--src/dynamics/solver/interaction_groups.rs1
-rw-r--r--src/dynamics/solver/island_solver.rs1
-rw-r--r--src/dynamics/solver/joint_constraint/joint_constraints_set.rs2
-rw-r--r--src/dynamics/solver/joint_constraint/joint_velocity_constraint.rs1
-rw-r--r--src/dynamics/solver/parallel_island_solver.rs1
-rw-r--r--src/dynamics/solver/velocity_solver.rs2
8 files changed, 13 insertions, 0 deletions
diff --git a/src/dynamics/solver/contact_constraint/contact_constraints_set.rs b/src/dynamics/solver/contact_constraint/contact_constraints_set.rs
index 4d2b40d..7b046b6 100644
--- a/src/dynamics/solver/contact_constraint/contact_constraints_set.rs
+++ b/src/dynamics/solver/contact_constraint/contact_constraints_set.rs
@@ -454,6 +454,7 @@ impl ContactConstraintsSet {
}
}
+ #[profiling::function]
pub fn solve_restitution(
&mut self,
solver_vels: &mut [SolverVel<Real>],
@@ -465,6 +466,7 @@ impl ContactConstraintsSet {
}
}
+ #[profiling::function]
pub fn solve_restitution_wo_bias(
&mut self,
solver_vels: &mut [SolverVel<Real>],
@@ -477,6 +479,7 @@ impl ContactConstraintsSet {
}
}
+ #[profiling::function]
pub fn solve_friction(
&mut self,
solver_vels: &mut [SolverVel<Real>],
@@ -495,6 +498,7 @@ impl ContactConstraintsSet {
}
}
+ #[profiling::function]
pub fn update(
&mut self,
params: &IntegrationParameters,
diff --git a/src/dynamics/solver/contact_constraint/generic_one_body_constraint.rs b/src/dynamics/solver/contact_constraint/generic_one_body_constraint.rs
index e254995..6873407 100644
--- a/src/dynamics/solver/contact_constraint/generic_one_body_constraint.rs
+++ b/src/dynamics/solver/contact_constraint/generic_one_body_constraint.rs
@@ -272,6 +272,7 @@ impl GenericOneBodyConstraint {
);
}
+ #[profiling::function]
pub fn solve(
&mut self,
jacobians: &DVector<Real>,
diff --git a/src/dynamics/solver/interaction_groups.rs b/src/dynamics/solver/interaction_groups.rs
index 1e834e6..13d6655 100644
--- a/src/dynamics/solver/interaction_groups.rs
+++ b/src/dynamics/solver/interaction_groups.rs
@@ -218,6 +218,7 @@ impl InteractionGroups {
}
#[cfg(feature = "simd-is-enabled")]
+ #[profiling::function]
pub fn group_joints(
&mut self,
island_id: usize,
diff --git a/src/dynamics/solver/island_solver.rs b/src/dynamics/solver/island_solver.rs
index f9c84a5..b7c44df 100644
--- a/src/dynamics/solver/island_solver.rs
+++ b/src/dynamics/solver/island_solver.rs
@@ -28,6 +28,7 @@ impl IslandSolver {
}
}
+ #[profiling::function]
pub fn init_and_solve(
&mut self,
island_id: usize,
diff --git a/src/dynamics/solver/joint_constraint/joint_constraints_set.rs b/src/dynamics/solver/joint_constraint/joint_constraints_set.rs
index 64c1e83..1436538 100644
--- a/src/dynamics/solver/joint_constraint/joint_constraints_set.rs
+++ b/src/dynamics/solver/joint_constraint/joint_constraints_set.rs
@@ -361,6 +361,7 @@ impl JointConstraintsSet {
}
}
+ #[profiling::function]
pub fn solve(
&mut self,
solver_vels: &mut [SolverVel<Real>],
@@ -391,6 +392,7 @@ impl JointConstraintsSet {
}
}
+ #[profiling::function]
pub fn update(
&mut self,
params: &IntegrationParameters,
diff --git a/src/dynamics/solver/joint_constraint/joint_velocity_constraint.rs b/src/dynamics/solver/joint_constraint/joint_velocity_constraint.rs
index 60c42d3..61a8821 100644
--- a/src/dynamics/solver/joint_constraint/joint_velocity_constraint.rs
+++ b/src/dynamics/solver/joint_constraint/joint_velocity_constraint.rs
@@ -110,6 +110,7 @@ pub struct JointTwoBodyConstraint<N: SimdRealCopy, const LANES: usize> {
}
impl<N: SimdRealCopy, const LANES: usize> JointTwoBodyConstraint<N, LANES> {
+ #[profiling::function]
pub fn solve_generic(
&mut self,
solver_vel1: &mut SolverVel<N>,
diff --git a/src/dynamics/solver/parallel_island_solver.rs b/src/dynamics/solver/parallel_island_solver.rs
index 218d2af..4cfa2d2 100644
--- a/src/dynamics/solver/parallel_island_solver.rs
+++ b/src/dynamics/solver/parallel_island_solver.rs
@@ -160,6 +160,7 @@ impl ParallelIslandSolver {
}
}
+ #[profiling::function]
pub fn init_and_solve<'s>(
&'s mut self,
scope: &Scope<'s>,
diff --git a/src/dynamics/solver/velocity_solver.rs b/src/dynamics/solver/velocity_solver.rs
index a4e03b2..bd6ac2c 100644
--- a/src/dynamics/solver/velocity_solver.rs
+++ b/src/dynamics/solver/velocity_solver.rs
@@ -149,6 +149,7 @@ impl VelocitySolver {
}
}
+ #[profiling::function]
pub fn solve_constraints(
&mut self,
params: &IntegrationParameters,
@@ -221,6 +222,7 @@ impl VelocitySolver {
}
}
+ #[profiling::function]
pub fn integrate_positions(
&mut self,
params: &IntegrationParameters,