Gazebo Performance Profiling

CPU flamegraph benchmarks for Gazebo. Each run captures interactive flamegraphs across representative simulation worlds.

Benchmark Runs

DateDescriptionReport
2026-09-01 Gazebo server profiling on PR #3447 (EnTT ECM) with gz-transport Zenoh 1.8 + shared memory (PRs #868, #842). 7 worlds including the new moving_robots_and_sensors benchmark (PR #3846). Loading is 10x faster than April; the framework has left the profiles and what remains is DART, the ODE broadphase, and two gz-physics interface costs (WorldPoses written every step, EntityPtr refcount churn). GUI run on the same stack: the 3k GUI is half pose re-application (RenderUtil::Update) and half scene graph walk; the mixed world floods the GUI with a 2.4 kHz state stream. Server PDF
GUI PDF
2026-07-03 Gazebo GUI process profiling on PR #3447 (EnTT ECM). 4 worlds, NVIDIA RTX PRO 3000, sim playing. The render thread dominates (90-91% on the 3k worlds); the per-frame Ogre2Scene::PreRender scene-graph walk is the bottleneck. PDF
2026-04-21 Initial profiling study: 7 worlds (3k_shapes static/dynamic, sensors, jetty, gpu_lidar, sensors_demo). gz-sim 11.0.0-pre1, DART 6.13.2. PDF

Generated with FlameGraph and Linux perf.