Isaac Sim Benchmarks#
Note
A full set of KPIs across different hardware configurations will be published in the official 5.0 release. Please check back for updates.
This page contains key performance indicators (KPIs) for Isaac Sim, captured across
different reference hardware and measured using the isaacsim.benchmark.services
extension. It also
contains a guide on how to collect the same KPIs on your hardware, to compare to our published
performance specs.
GPU-Independent KPIs#
These KPIs measure Isaac Sim performance independent of the GPU on which Isaac Sim is running.
Note
Official 5.0 release will contain updated numbers for below KPIs.
Name |
Definition |
Units |
Value |
---|---|---|---|
Binary package size (Windows) |
Size of Windows binary package |
GB |
|
Binary package size (Ubuntu) |
Size of Ubuntu binary package |
GB |
|
Docker container size |
Size of Docker container before extraction on NGC |
GB |
|
|
Size of |
GB |
|
Startup time (async) |
Time from launching Isaac Sim executable to |
seconds |
|
Startup time (non-async) |
Time from initializing |
seconds |
GPU-Dependent KPIs#
These KPIs measure Isaac Sim performance on reference hardware, including frame rate for benchmark scenes and render rate for specific sensor combinations. KPIs are reported as the average KPI value across 600 frames.
The KPIs are generated from the scripts in the below section.
Note
A KPI table with different hardware configurations will be published here in the official 5.0 release.
Measuring KPIs on Local Hardware#
Isaac Sim KPIs can be measured using the Python scripts provided in standalone_examples/benchmarks
. The KPIs provided above are computed using the scripts as follows.
Commands are providing in bash
syntax (for Ubuntu); for Windows, replace .sh
with .bat
and \
for multiline commands to `
.
Startup time (async): Measured as
Runtime
forphase: startup
from the logs after running./isaac-sim.sh --no-window --/app/quitAfter=200 --/app/file/ignoreUnsavedOnExit=1 \ --enable isaacsim.benchmark.service
Startup time (non-async): Measured as
Runtime
forphase: startup
from the logs after running./python.sh standalone_examples/api/isaacsim.simulation_app/hello_world.py \ --enable isaacsim.benchmark.services
Full Warehouse Sample Scene load time & FPS: Load time is measured as
Runtime
forphase: loading
and FPS is measured asMean FPS
forphase: benchmark
../python.sh standalone_examples/benchmarks/benchmark_scene_loading.py \ --env-url /Isaac/Environments/Simple_Warehouse/full_warehouse.usd
Physics Steps per second: Physics steps per second is measured as
1000.0/Mean Physics Frametime
forphase: benchmark
../python.sh standalone_examples/benchmarks/benchmark_robots_o3dyn.py \ --num-robots 2
Isaac ROS Sample Scene FPS: FPS is measured as
Mean FPS
forphase: benchmark
../python.sh standalone_examples/benchmarks/benchmark_scene_loading.py \ --env-url /Isaac/Samples/ROS2/Scenario/carter_warehouse_apriltags_worker.usd
ROS 2 Render & Publishing Speed: First, measure FPS as
Mean FPS
forphase: benchmark
. Then, compute this metric as[FPS] * 8 * 1920 * 1200 / 1e6
, accounting for rendering 4 Hawk stereo camera pairs../python.sh standalone_examples/benchmarks/benchmark_robots_nova_carter_ros2.py \ --num-robots 1 --enable-3d-lidar 1 --enable-2d-lidar 2 --enable-hawks 4 --viewport-updates
SDG images per second (simple): First, measure FPS as
Mean FPS
forphase: benchmark
. Then compute this metrics as[FPS] * 2 * 1280 * 720 / 1e6
, accounting for rendering 2 720p cameras../python.sh standalone_examples/benchmarks/benchmark_sdg.py \ --num-cameras 2 \ --resolution 1280 720 \ --asset-count 100 \ --annotators rgb distance_to_image_plane \ --skip-write
SDG images per second (complex): First, measure FPS as
Mean FPS
forphase: benchmark
. Then compute this metrics as[FPS] * 2 * 1280 * 720 / 1e6
, accounting for rendering 2 720p cameras../python.sh standalone_examples/benchmarks/benchmark_sdg.py \ --num-cameras 2 \ --resolution 1280 720 \ --asset-count 100 \ --annotators all \ --skip-write