Skip to content

Conversation

@Mayankm96
Copy link
Contributor

@Mayankm96 Mayankm96 commented Jan 2, 2026

Description

This MR replaces Isaac Sim's XformPrim class with a simpler XformPrimView class. It mainly allows users to set/get local/world poses.

Requires merging: #4307, #4323

Type of change

  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)
  • Documentation update

Screenshots

Benchmarking results:

./isaaclab.sh -p scripts/benchmarks/benchmark_xform_prim_view.py --num_envs 1024 --headless
====================================================================================================
BENCHMARK RESULTS: 1024 prims, 50 iterations
====================================================================================================
Operation                 Isaaclab (ms)        Isaacsim (ms)        Isaacsim Exp (ms)   
----------------------------------------------------------------------------------------------------
Initialization                         5.3219            191.9776              6.9343
Get World Poses                        8.0032            181.0207             18.7587
Set World Poses                       20.0200            170.2027             38.1337
Get Local Poses                        4.8549             37.8693             15.6433
Set Local Poses                        7.9702             24.2080             12.8826
Get Both (World+Local)                13.0351            226.3333             35.2003
====================================================================================================

Total Time                            59.2053            831.6116            127.5530

====================================================================================================
SPEEDUP vs Isaac Lab
====================================================================================================
Operation                 Isaacsim Speedup     Isaacsim Exp Speedup
----------------------------------------------------------------------------------------------------
Initialization                          36.07x                1.30x
Get World Poses                         22.62x                2.34x
Set World Poses                          8.50x                1.90x
Get Local Poses                          7.80x                3.22x
Set Local Poses                          3.04x                1.62x
Get Both (World+Local)                  17.36x                2.70x
====================================================================================================
Overall Speedup                         14.05x                2.15x

====================================================================================================

Notes:
  - Times are averaged over all iterations
  - Speedup = (Other API time) / (Isaac Lab time)
  - Speedup > 1.0 means Isaac Lab is faster
  - Speedup < 1.0 means the other API is faster

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@Mayankm96 Mayankm96 merged commit cdc877b into isaac-sim:main Jan 7, 2026
10 checks passed
Mayankm96 added a commit that referenced this pull request Jan 7, 2026
…4313)

This MR replaces Isaac Sim's XformPrim class with a simpler
`XformPrimView` class. It mainly allows users to set/get local/world
poses.

Requires merging: #4307, #4323

- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update

Benchmarking results:

```bash
./isaaclab.sh -p scripts/benchmarks/benchmark_xform_prim_view.py --num_envs 1024 --headless
```

```
====================================================================================================
BENCHMARK RESULTS: 1024 prims, 50 iterations
====================================================================================================
Operation                 Isaaclab (ms)        Isaacsim (ms)        Isaacsim Exp (ms)
----------------------------------------------------------------------------------------------------
Initialization                         5.3219            191.9776              6.9343
Get World Poses                        8.0032            181.0207             18.7587
Set World Poses                       20.0200            170.2027             38.1337
Get Local Poses                        4.8549             37.8693             15.6433
Set Local Poses                        7.9702             24.2080             12.8826
Get Both (World+Local)                13.0351            226.3333             35.2003
====================================================================================================

Total Time                            59.2053            831.6116            127.5530

====================================================================================================
SPEEDUP vs Isaac Lab
====================================================================================================
Operation                 Isaacsim Speedup     Isaacsim Exp Speedup
----------------------------------------------------------------------------------------------------
Initialization                          36.07x                1.30x
Get World Poses                         22.62x                2.34x
Set World Poses                          8.50x                1.90x
Get Local Poses                          7.80x                3.22x
Set Local Poses                          3.04x                1.62x
Get Both (World+Local)                  17.36x                2.70x
====================================================================================================
Overall Speedup                         14.05x                2.15x

====================================================================================================

Notes:
  - Times are averaged over all iterations
  - Speedup = (Other API time) / (Isaac Lab time)
  - Speedup > 1.0 means Isaac Lab is faster
  - Speedup < 1.0 means the other API is faster
```

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
@ooctipus
Copy link
Collaborator

Thank you Mayank this is amazing!

Edify0991 pushed a commit to Edify0991/IsaacLab that referenced this pull request Jan 14, 2026
…saac-sim#4313)

This MR replaces Isaac Sim's XformPrim class with a simpler
`XformPrimView` class. It mainly allows users to set/get local/world
poses.

Requires merging: isaac-sim#4307, isaac-sim#4323

- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update

Benchmarking results:

```bash
./isaaclab.sh -p scripts/benchmarks/benchmark_xform_prim_view.py --num_envs 1024 --headless
```

```
====================================================================================================
BENCHMARK RESULTS: 1024 prims, 50 iterations
====================================================================================================
Operation                 Isaaclab (ms)        Isaacsim (ms)        Isaacsim Exp (ms)
----------------------------------------------------------------------------------------------------
Initialization                         5.3219            191.9776              6.9343
Get World Poses                        8.0032            181.0207             18.7587
Set World Poses                       20.0200            170.2027             38.1337
Get Local Poses                        4.8549             37.8693             15.6433
Set Local Poses                        7.9702             24.2080             12.8826
Get Both (World+Local)                13.0351            226.3333             35.2003
====================================================================================================

Total Time                            59.2053            831.6116            127.5530

====================================================================================================
SPEEDUP vs Isaac Lab
====================================================================================================
Operation                 Isaacsim Speedup     Isaacsim Exp Speedup
----------------------------------------------------------------------------------------------------
Initialization                          36.07x                1.30x
Get World Poses                         22.62x                2.34x
Set World Poses                          8.50x                1.90x
Get Local Poses                          7.80x                3.22x
Set Local Poses                          3.04x                1.62x
Get Both (World+Local)                  17.36x                2.70x
====================================================================================================
Overall Speedup                         14.05x                2.15x

====================================================================================================

Notes:
  - Times are averaged over all iterations
  - Speedup = (Other API time) / (Isaac Lab time)
  - Speedup > 1.0 means Isaac Lab is faster
  - Speedup < 1.0 means the other API is faster
```

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants