============================================ Gazebo Hotspot Analysis: gpu_lidar_sensor ============================================ Total samples: 38094281820 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. Optimization targets (inclusive time) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Gazebo functions ranked by total CPU spent under them (including all children). If you optimize or remove one of these functions, you'd save up to this % of CPU. These are the primary optimization candidates. 72.5% gz::sim::v11::SimulationRunner::Run 72.5% gz::sim::v11::ServerPrivate::Run 72.2% gz::sim::v11::SimulationRunner::Step 70.6% gz::sim::v11::SimulationRunner::UpdateSystems 64.2% gz::sim::v11::systems::Physics::Update 59.2% gz::sim::v11::systems::PhysicsPrivate::Step 25.7% gz::sim::v11::systems::SensorsPrivate::RunOnce 25.7% gz::sim::v11::systems::SensorsPrivate::RenderThread 24.3% gz::sensors::v11::Manager::RunOnce 24.3% gz::sensors::v11::Sensor::Update 24.2% gz::sensors::v11::GpuLidarSensor::Update 20.1% gz::sensors::v11::RenderingSensor::Render 10.4% gz::rendering::v11::Ogre2GpuRays::Render 9.6% gz::rendering::v11::Ogre2GpuRays::UpdateRenderTarget1stPass 9.2% gz::rendering::v11::Ogre2GpuRays::PostRender ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2. What Gazebo functions call (attribution) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ For each sample, finds the nearest Gazebo function in the stack and shows what external function it called. Format: GazeboFunc -> ExternalFunc. Shows where optimizing the Gazebo caller would reduce external library cost. 57.7% gz::sim::v11::systems::PhysicsPrivate::Step -> gz::physics::ForwardStep::World<...> 4.7% gz::rendering::v11::Ogre2GpuRays::UpdateRenderTarget1stPass -> [libnvidia-eglcore.so.580.159.03] 4.4% gz::rendering::v11::Ogre2GpuReadbackTicket::DownloadAndMap -> [[vdso]] 3.4% gz::rendering::v11::Ogre2GpuReadbackTicket::DownloadAndMap -> [libnvidia-eglcore.so.580.159.03] 0.9% gz::sim::v11::systems::Physics::Update -> gz::physics::SpecifyData<...> 0.7% gz::sim::v11::systems::Sensors::PostUpdate -> unsigned 0.7% gz::sim::v11::systems::PhysicsPrivate::Step -> gz::physics::ExpectData<...> 0.6% gz::sim::v11::systems::PhysicsPrivate::Step -> gz::physics::SpecifyData<...> 0.6% gz::transport::v16::Node::Publisher::Publish -> unsigned 0.4% gz::sim::v11::RenderUtilPrivate::CreateEntitiesRuntime -> void 0.3% gz::rendering::v11::Ogre2GpuRays::UpdateRenderTarget2ndPass -> [libnvidia-eglcore.so.580.159.03] 0.3% gz::sim::v11::systems::Physics::Update -> std::_Rb_tree<...> 0.3% gz::transport::v16::Publisher::Topic[abi:cxx11] -> std::__cxx11::basic_string<...> 0.3% gz::sim::v11::RenderUtilPrivate::RemoveRenderingEntities -> entt::basic_common_view<...> 0.3% gz::rendering::v11::Ogre2Scene::FlushGpuCommandsOnly -> [libnvidia-eglcore.so.580.159.03] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3. External costs (context) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Top CPU consumers in external libraries (DART, ODE, Ogre, glibc, etc.). Not directly actionable, but shows where the CPU actually executes. See section 2 for which Gazebo function is responsible for each. 57.7% gz::physics::ForwardStep::World