Skip to content

[Feature] Add vmap support for UnbatchedTensor - #1729

Merged
vmoens merged 1 commit into
mainfrom
codex/unbatched-tensor-patch
Jun 30, 2026
Merged

[Feature] Add vmap support for UnbatchedTensor#1729
vmoens merged 1 commit into
mainfrom
codex/unbatched-tensor-patch

Conversation

@vmoens

@vmoens vmoens commented Jun 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add TensorDict-facing batch-size metadata and vmap hooks to UnbatchedTensor
  • propagate UnbatchedTensor metadata through TensorDict vmap add/remove paths
  • teach the TensorDict vmap monkeypatch to treat UnbatchedTensor as a vmap leaf
  • add regression tests for TensorDict-contained, returned, and direct UnbatchedTensor vmap usage

Tests

  • uv run --with pytest python -m pytest test/tensordict/test_nontensor.py -q
  • uv run --with pytest python -m pytest test/tensordict/test_nontensor.py::TestUnbatchedTensor test/nn/test_functorch.py test/tensorclass/test_tensorclass.py::TestVMAP test/compile/test_compile.py::test_vmap_compile test/compile/test_compile.py::TestGuardCount::test_unbatched_clone_no_recompile test/compile/test_compile.py::TestGuardCount::test_unbatched_clone_preserves_semantics -q
  • uv run --with ruff ruff check --ignore E402 tensordict/_unbatched.py tensordict/_td.py tensordict/nn/functional_modules.py test/tensordict/test_nontensor.py
  • git diff --check -- tensordict/_unbatched.py tensordict/_td.py tensordict/nn/functional_modules.py test/tensordict/test_nontensor.py

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 28, 2026
@github-actions github-actions Bot added Feature New feature Test nn and removed Feature New feature labels Jun 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

$\color{#D29922}\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Result of GPU Benchmark Tests

Total Benchmarks: 344. Improved: $\large\color{#35bf28}15$. Worsened: $\large\color{#d91a1a}7$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2016ms 0.1680ms 5.9517 KOps/s 5.9707 KOps/s $\color{#d91a1a}-0.32\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3851ms 0.2992ms 3.3422 KOps/s 3.3597 KOps/s $\color{#d91a1a}-0.52\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.8677ms 0.7865ms 1.2714 KOps/s 1.2611 KOps/s $\color{#35bf28}+0.82\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.3965ms 0.3382ms 2.9564 KOps/s 2.8856 KOps/s $\color{#35bf28}+2.45\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.2537ms 1.1132ms 898.2856 Ops/s 897.8599 Ops/s $\color{#35bf28}+0.05\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.7554ms 7.3216ms 136.5814 Ops/s 136.5054 Ops/s $\color{#35bf28}+0.06\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.2954ms 0.2492ms 4.0134 KOps/s 3.9886 KOps/s $\color{#35bf28}+0.62\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.4645ms 0.3723ms 2.6863 KOps/s 2.6807 KOps/s $\color{#35bf28}+0.21\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9444ms 0.8275ms 1.2084 KOps/s 1.2043 KOps/s $\color{#35bf28}+0.34\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3175ms 0.2529ms 3.9534 KOps/s 3.9518 KOps/s $\color{#35bf28}+0.04\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.4591ms 0.3742ms 2.6721 KOps/s 2.6668 KOps/s $\color{#35bf28}+0.20\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9823ms 0.8875ms 1.1268 KOps/s 1.1172 KOps/s $\color{#35bf28}+0.86\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2708ms 0.2163ms 4.6229 KOps/s 4.6760 KOps/s $\color{#d91a1a}-1.13\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.9237ms 0.8298ms 1.2052 KOps/s 1.1993 KOps/s $\color{#35bf28}+0.49\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.4300ms 3.2931ms 303.6674 Ops/s 304.3426 Ops/s $\color{#d91a1a}-0.22\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.6916ms 0.3738ms 2.6750 KOps/s 2.6117 KOps/s $\color{#35bf28}+2.43\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 2.1176ms 1.7651ms 566.5427 Ops/s 593.7946 Ops/s $\color{#d91a1a}-4.59\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.6897ms 10.2838ms 97.2399 Ops/s 97.0813 Ops/s $\color{#35bf28}+0.16\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4455ms 0.3908ms 2.5586 KOps/s 2.5700 KOps/s $\color{#d91a1a}-0.45\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.7495ms 1.4479ms 690.6338 Ops/s 684.1001 Ops/s $\color{#35bf28}+0.96\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 6.0810ms 5.7050ms 175.2849 Ops/s 175.1412 Ops/s $\color{#35bf28}+0.08\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4784ms 0.3905ms 2.5609 KOps/s 2.5108 KOps/s $\color{#35bf28}+2.00\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5537ms 1.4451ms 691.9768 Ops/s 656.8659 Ops/s $\textbf{\color{#35bf28}+5.35\%}$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 5.9691ms 5.7148ms 174.9833 Ops/s 166.2810 Ops/s $\textbf{\color{#35bf28}+5.23\%}$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2606ms 0.1703ms 5.8704 KOps/s 5.7700 KOps/s $\color{#35bf28}+1.74\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7398ms 0.6684ms 1.4961 KOps/s 1.4842 KOps/s $\color{#35bf28}+0.80\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7420ms 2.6468ms 377.8147 Ops/s 370.0202 Ops/s $\color{#35bf28}+2.11\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.6419ms 0.3112ms 3.2129 KOps/s 3.1113 KOps/s $\color{#35bf28}+3.27\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 2.0579ms 1.4782ms 676.5172 Ops/s 679.7838 Ops/s $\color{#d91a1a}-0.48\%$
test_collector_preallocated_write[copy_at-cpu-4096-32] 9.7220ms 9.4302ms 106.0418 Ops/s 104.9889 Ops/s $\color{#35bf28}+1.00\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.4536ms 0.3238ms 3.0886 KOps/s 3.0536 KOps/s $\color{#35bf28}+1.14\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.2813ms 1.2022ms 831.7775 Ops/s 826.6591 Ops/s $\color{#35bf28}+0.62\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.8223ms 4.7072ms 212.4416 Ops/s 211.4030 Ops/s $\color{#35bf28}+0.49\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.4242ms 0.3258ms 3.0698 KOps/s 3.0580 KOps/s $\color{#35bf28}+0.38\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.3099ms 1.2104ms 826.1584 Ops/s 816.5877 Ops/s $\color{#35bf28}+1.17\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.8262ms 4.7358ms 211.1561 Ops/s 209.9966 Ops/s $\color{#35bf28}+0.55\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1519ms 0.1207ms 8.2838 KOps/s 8.2165 KOps/s $\color{#35bf28}+0.82\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5391ms 0.4740ms 2.1097 KOps/s 2.0906 KOps/s $\color{#35bf28}+0.92\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.9954ms 1.9043ms 525.1409 Ops/s 525.1471 Ops/s $-0.00\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3501ms 0.2577ms 3.8806 KOps/s 3.9116 KOps/s $\color{#d91a1a}-0.79\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.7592ms 1.2643ms 790.9657 Ops/s 824.7616 Ops/s $\color{#d91a1a}-4.10\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 8.8183ms 8.5985ms 116.2989 Ops/s 114.8530 Ops/s $\color{#35bf28}+1.26\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3333ms 0.2750ms 3.6369 KOps/s 3.5587 KOps/s $\color{#35bf28}+2.20\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.1389ms 1.0299ms 970.9789 Ops/s 971.5536 Ops/s $\color{#d91a1a}-0.06\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.1789ms 4.0166ms 248.9671 Ops/s 244.1389 Ops/s $\color{#35bf28}+1.98\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3555ms 0.2756ms 3.6285 KOps/s 3.5585 KOps/s $\color{#35bf28}+1.97\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.1052ms 1.0273ms 973.4428 Ops/s 959.9519 Ops/s $\color{#35bf28}+1.41\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.1887ms 4.0395ms 247.5582 Ops/s 236.9198 Ops/s $\color{#35bf28}+4.49\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 16.6892ms 16.4910ms 60.6391 Ops/s 60.9162 Ops/s $\color{#d91a1a}-0.45\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.5353ms 33.0373ms 30.2688 Ops/s 30.0620 Ops/s $\color{#35bf28}+0.69\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 86.1750ms 84.7407ms 11.8007 Ops/s 11.8748 Ops/s $\color{#d91a1a}-0.62\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.1992s 0.1978s 5.0547 Ops/s 5.0247 Ops/s $\color{#35bf28}+0.60\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 14.9578ms 13.9341ms 71.7664 Ops/s 72.0559 Ops/s $\color{#d91a1a}-0.40\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.4910ms 27.0616ms 36.9527 Ops/s 36.8244 Ops/s $\color{#35bf28}+0.35\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.4204ms 13.9979ms 71.4395 Ops/s 71.1719 Ops/s $\color{#35bf28}+0.38\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 27.9737ms 27.4361ms 36.4483 Ops/s 36.3172 Ops/s $\color{#35bf28}+0.36\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 51.2762ms 51.0289ms 19.5968 Ops/s 19.3862 Ops/s $\color{#35bf28}+1.09\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1049s 0.1035s 9.6663 Ops/s 9.6073 Ops/s $\color{#35bf28}+0.61\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1446s 0.1442s 6.9369 Ops/s 6.8932 Ops/s $\color{#35bf28}+0.63\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3189s 0.3181s 3.1436 Ops/s 3.1466 Ops/s $\color{#d91a1a}-0.10\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 76.8107ms 74.8059ms 13.3679 Ops/s 13.0264 Ops/s $\color{#35bf28}+2.62\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1553s 0.1494s 6.6925 Ops/s 6.4572 Ops/s $\color{#35bf28}+3.64\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 75.1296ms 74.5191ms 13.4194 Ops/s 12.6678 Ops/s $\textbf{\color{#35bf28}+5.93\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1598s 0.1569s 6.3731 Ops/s 6.3748 Ops/s $\color{#d91a1a}-0.03\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.5744ms 30.1855ms 33.1284 Ops/s 32.8017 Ops/s $\color{#35bf28}+1.00\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.4046ms 60.9661ms 16.4026 Ops/s 16.2303 Ops/s $\color{#35bf28}+1.06\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1204s 0.1192s 8.3875 Ops/s 8.4687 Ops/s $\color{#d91a1a}-0.96\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2635s 0.2628s 3.8048 Ops/s 3.7970 Ops/s $\color{#35bf28}+0.21\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 43.8566ms 43.4873ms 22.9952 Ops/s 23.0238 Ops/s $\color{#d91a1a}-0.12\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 87.2698ms 86.4270ms 11.5705 Ops/s 11.5566 Ops/s $\color{#35bf28}+0.12\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 43.7436ms 43.5528ms 22.9606 Ops/s 22.9599 Ops/s $+0.00\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 87.6392ms 87.1731ms 11.4714 Ops/s 11.4670 Ops/s $\color{#35bf28}+0.04\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 21.1170ms 20.8032ms 48.0695 Ops/s 48.2574 Ops/s $\color{#d91a1a}-0.39\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 42.8305ms 42.3894ms 23.5908 Ops/s 23.5646 Ops/s $\color{#35bf28}+0.11\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1085s 0.1079s 9.2670 Ops/s 9.4750 Ops/s $\color{#d91a1a}-2.20\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2437s 0.2420s 4.1320 Ops/s 4.1244 Ops/s $\color{#35bf28}+0.18\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 37.4837ms 37.0776ms 26.9705 Ops/s 27.3305 Ops/s $\color{#d91a1a}-1.32\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 74.3544ms 73.7785ms 13.5541 Ops/s 13.5855 Ops/s $\color{#d91a1a}-0.23\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 37.4287ms 37.1070ms 26.9491 Ops/s 27.2663 Ops/s $\color{#d91a1a}-1.16\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 74.3878ms 74.0715ms 13.5005 Ops/s 13.5995 Ops/s $\color{#d91a1a}-0.73\%$
test_plain_set_nested 36.4900μs 15.0749μs 66.3355 KOps/s 66.4868 KOps/s $\color{#d91a1a}-0.23\%$
test_plain_set_stack_nested 40.9410μs 14.8624μs 67.2838 KOps/s 67.8328 KOps/s $\color{#d91a1a}-0.81\%$
test_plain_set_nested_inplace 63.4510μs 16.5354μs 60.4762 KOps/s 60.4286 KOps/s $\color{#35bf28}+0.08\%$
test_plain_set_stack_nested_inplace 46.3510μs 16.2439μs 61.5616 KOps/s 61.9793 KOps/s $\color{#d91a1a}-0.67\%$
test_items 32.8510μs 6.0858μs 164.3161 KOps/s 164.1462 KOps/s $\color{#35bf28}+0.10\%$
test_items_nested 0.5358ms 0.4688ms 2.1329 KOps/s 2.1339 KOps/s $\color{#d91a1a}-0.05\%$
test_items_nested_locked 0.5403ms 0.4719ms 2.1190 KOps/s 2.1295 KOps/s $\color{#d91a1a}-0.49\%$
test_items_nested_leaf 0.1348ms 99.7382μs 10.0262 KOps/s 10.1649 KOps/s $\color{#d91a1a}-1.36\%$
test_items_stack_nested 0.7558ms 0.4677ms 2.1381 KOps/s 2.1555 KOps/s $\color{#d91a1a}-0.81\%$
test_items_stack_nested_leaf 0.2044ms 99.1262μs 10.0882 KOps/s 10.1607 KOps/s $\color{#d91a1a}-0.71\%$
test_items_stack_nested_locked 0.5762ms 0.4703ms 2.1263 KOps/s 2.1123 KOps/s $\color{#35bf28}+0.66\%$
test_keys 34.0010μs 4.4567μs 224.3821 KOps/s 229.0107 KOps/s $\color{#d91a1a}-2.02\%$
test_keys_nested 0.1646ms 0.1292ms 7.7425 KOps/s 7.7832 KOps/s $\color{#d91a1a}-0.52\%$
test_keys_nested_locked 0.7356ms 0.1382ms 7.2343 KOps/s 7.2858 KOps/s $\color{#d91a1a}-0.71\%$
test_keys_nested_leaf 0.1788ms 0.1198ms 8.3445 KOps/s 8.3167 KOps/s $\color{#35bf28}+0.33\%$
test_keys_stack_nested 0.2045ms 0.1293ms 7.7337 KOps/s 7.7907 KOps/s $\color{#d91a1a}-0.73\%$
test_keys_stack_nested_leaf 0.1515ms 0.1194ms 8.3728 KOps/s 8.4029 KOps/s $\color{#d91a1a}-0.36\%$
test_keys_stack_nested_locked 0.1966ms 0.1361ms 7.3460 KOps/s 7.3058 KOps/s $\color{#35bf28}+0.55\%$
test_values 6.3462μs 1.0376μs 963.7887 KOps/s 965.9093 KOps/s $\color{#d91a1a}-0.22\%$
test_values_nested 86.4710μs 52.4214μs 19.0762 KOps/s 19.1007 KOps/s $\color{#d91a1a}-0.13\%$
test_values_nested_locked 95.9020μs 56.1094μs 17.8223 KOps/s 17.9417 KOps/s $\color{#d91a1a}-0.67\%$
test_values_nested_leaf 84.5020μs 60.2964μs 16.5847 KOps/s 16.5528 KOps/s $\color{#35bf28}+0.19\%$
test_values_stack_nested 90.0620μs 52.8435μs 18.9238 KOps/s 19.1809 KOps/s $\color{#d91a1a}-1.34\%$
test_values_stack_nested_leaf 0.1015ms 59.7949μs 16.7238 KOps/s 16.7511 KOps/s $\color{#d91a1a}-0.16\%$
test_values_stack_nested_locked 0.1023ms 55.9554μs 17.8714 KOps/s 18.0180 KOps/s $\color{#d91a1a}-0.81\%$
test_membership 5.2850μs 0.8610μs 1.1614 MOps/s 1.1816 MOps/s $\color{#d91a1a}-1.71\%$
test_membership_nested 36.9010μs 2.9711μs 336.5727 KOps/s 334.6953 KOps/s $\color{#35bf28}+0.56\%$
test_membership_nested_leaf 43.4710μs 2.9711μs 336.5725 KOps/s 335.2929 KOps/s $\color{#35bf28}+0.38\%$
test_membership_stacked_nested 22.4100μs 2.8746μs 347.8805 KOps/s 350.4489 KOps/s $\color{#d91a1a}-0.73\%$
test_membership_stacked_nested_leaf 38.6110μs 2.8577μs 349.9282 KOps/s 349.0166 KOps/s $\color{#35bf28}+0.26\%$
test_membership_nested_last 32.3410μs 4.4725μs 223.5897 KOps/s 225.4466 KOps/s $\color{#d91a1a}-0.82\%$
test_membership_nested_leaf_last 35.0810μs 4.4580μs 224.3174 KOps/s 225.0546 KOps/s $\color{#d91a1a}-0.33\%$
test_membership_stacked_nested_last 27.1400μs 4.3139μs 231.8100 KOps/s 231.9125 KOps/s $\color{#d91a1a}-0.04\%$
test_membership_stacked_nested_leaf_last 40.5000μs 4.3073μs 232.1624 KOps/s 232.2312 KOps/s $\color{#d91a1a}-0.03\%$
test_nested_getleaf 54.7210μs 21.4344μs 46.6540 KOps/s 46.6339 KOps/s $\color{#35bf28}+0.04\%$
test_nested_get 55.6010μs 20.3559μs 49.1258 KOps/s 49.5526 KOps/s $\color{#d91a1a}-0.86\%$
test_stacked_getleaf 73.0210μs 21.2521μs 47.0541 KOps/s 47.0693 KOps/s $\color{#d91a1a}-0.03\%$
test_stacked_get 79.3410μs 20.3579μs 49.1209 KOps/s 49.4339 KOps/s $\color{#d91a1a}-0.63\%$
test_nested_getitemleaf 65.5920μs 21.7909μs 45.8906 KOps/s 44.9238 KOps/s $\color{#35bf28}+2.15\%$
test_nested_getitem 51.6510μs 20.8885μs 47.8732 KOps/s 48.1296 KOps/s $\color{#d91a1a}-0.53\%$
test_stacked_getitemleaf 51.0120μs 21.7110μs 46.0596 KOps/s 45.4635 KOps/s $\color{#35bf28}+1.31\%$
test_stacked_getitem 97.8920μs 20.2698μs 49.3344 KOps/s 48.3368 KOps/s $\color{#35bf28}+2.06\%$
test_lock_nested 8.2494ms 0.5114ms 1.9554 KOps/s 1.9586 KOps/s $\color{#d91a1a}-0.16\%$
test_lock_stack_nested 0.6822ms 0.5087ms 1.9659 KOps/s 1.9696 KOps/s $\color{#d91a1a}-0.19\%$
test_unlock_nested 0.5076ms 0.3985ms 2.5092 KOps/s 2.5028 KOps/s $\color{#35bf28}+0.26\%$
test_unlock_stack_nested 0.5203ms 0.4027ms 2.4832 KOps/s 2.4910 KOps/s $\color{#d91a1a}-0.32\%$
test_flatten_speed 0.2500ms 0.1234ms 8.1039 KOps/s 8.0367 KOps/s $\color{#35bf28}+0.84\%$
test_unflatten_speed 0.6298ms 0.5701ms 1.7542 KOps/s 1.7772 KOps/s $\color{#d91a1a}-1.30\%$
test_common_ops 0.8848ms 0.7168ms 1.3952 KOps/s 1.4005 KOps/s $\color{#d91a1a}-0.38\%$
test_creation 0.1366ms 3.1651μs 315.9448 KOps/s 312.1882 KOps/s $\color{#35bf28}+1.20\%$
test_creation_empty 29.7510μs 6.9527μs 143.8292 KOps/s 143.5911 KOps/s $\color{#35bf28}+0.17\%$
test_creation_nested_1 45.4010μs 11.4769μs 87.1316 KOps/s 86.7105 KOps/s $\color{#35bf28}+0.49\%$
test_creation_nested_2 45.3110μs 13.3604μs 74.8481 KOps/s 74.3471 KOps/s $\color{#35bf28}+0.67\%$
test_creation_many_keys[10] 51.8010μs 20.9085μs 47.8273 KOps/s 47.5216 KOps/s $\color{#35bf28}+0.64\%$
test_creation_many_keys[50] 0.1201ms 88.8277μs 11.2578 KOps/s 11.1188 KOps/s $\color{#35bf28}+1.25\%$
test_creation_many_keys[100] 0.2262ms 0.1756ms 5.6948 KOps/s 5.7029 KOps/s $\color{#d91a1a}-0.14\%$
test_creation_nested_many_keys[10] 93.8720μs 44.7444μs 22.3492 KOps/s 22.3665 KOps/s $\color{#d91a1a}-0.08\%$
test_creation_nested_many_keys[50] 0.2446ms 0.1835ms 5.4506 KOps/s 5.4881 KOps/s $\color{#d91a1a}-0.68\%$
test_clone 47.1810μs 13.6171μs 73.4368 KOps/s 73.4872 KOps/s $\color{#d91a1a}-0.07\%$
test_getitem[int] 1.5897ms 15.2805μs 65.4427 KOps/s 65.3136 KOps/s $\color{#35bf28}+0.20\%$
test_getitem[slice_int] 0.1423ms 24.7404μs 40.4197 KOps/s 40.3225 KOps/s $\color{#35bf28}+0.24\%$
test_getitem[range] 0.1739ms 66.0467μs 15.1408 KOps/s 15.5843 KOps/s $\color{#d91a1a}-2.85\%$
test_getitem[tuple] 0.1496ms 24.4157μs 40.9572 KOps/s 41.2119 KOps/s $\color{#d91a1a}-0.62\%$
test_getitem[list] 0.1840ms 60.1002μs 16.6389 KOps/s 17.0436 KOps/s $\color{#d91a1a}-2.37\%$
test_setitem_dim[int] 48.4510μs 25.5607μs 39.1226 KOps/s 38.3004 KOps/s $\color{#35bf28}+2.15\%$
test_setitem_dim[slice_int] 66.0420μs 43.0845μs 23.2102 KOps/s 23.0769 KOps/s $\color{#35bf28}+0.58\%$
test_setitem_dim[range] 0.1394ms 96.3329μs 10.3807 KOps/s 10.4458 KOps/s $\color{#d91a1a}-0.62\%$
test_setitem_dim[tuple] 78.1620μs 40.1390μs 24.9134 KOps/s 25.3969 KOps/s $\color{#d91a1a}-1.90\%$
test_setitem 60.1210μs 17.9803μs 55.6163 KOps/s 55.4077 KOps/s $\color{#35bf28}+0.38\%$
test_set 41.2810μs 17.0961μs 58.4929 KOps/s 57.7998 KOps/s $\color{#35bf28}+1.20\%$
test_set_shared 0.6578ms 0.2188ms 4.5695 KOps/s 4.7474 KOps/s $\color{#d91a1a}-3.75\%$
test_update 0.4164ms 22.0471μs 45.3575 KOps/s 45.6784 KOps/s $\color{#d91a1a}-0.70\%$
test_update_nested 82.6120μs 33.8457μs 29.5459 KOps/s 29.1299 KOps/s $\color{#35bf28}+1.43\%$
test_update__nested 0.4772ms 33.7837μs 29.6001 KOps/s 29.1156 KOps/s $\color{#35bf28}+1.66\%$
test_set_nested 51.1310μs 19.0500μs 52.4933 KOps/s 51.7416 KOps/s $\color{#35bf28}+1.45\%$
test_set_nested_new 79.0110μs 23.9964μs 41.6729 KOps/s 41.9455 KOps/s $\color{#d91a1a}-0.65\%$
test_select 80.9520μs 40.5887μs 24.6374 KOps/s 24.7094 KOps/s $\color{#d91a1a}-0.29\%$
test_select_nested 0.1216ms 74.9376μs 13.3444 KOps/s 13.3869 KOps/s $\color{#d91a1a}-0.32\%$
test_exclude_nested 0.1323ms 92.0342μs 10.8655 KOps/s 10.8228 KOps/s $\color{#35bf28}+0.40\%$
test_empty[True] 0.4530ms 0.3942ms 2.5365 KOps/s 2.5135 KOps/s $\color{#35bf28}+0.92\%$
test_empty[False] 10.1853μs 1.3998μs 714.3855 KOps/s 720.4659 KOps/s $\color{#d91a1a}-0.84\%$
test_to 99.6320μs 69.3281μs 14.4242 KOps/s 14.2652 KOps/s $\color{#35bf28}+1.11\%$
test_to_nonblocking 0.1008ms 68.8722μs 14.5196 KOps/s 14.5111 KOps/s $\color{#35bf28}+0.06\%$
test_unbind_speed 0.3873ms 0.3380ms 2.9583 KOps/s 2.9564 KOps/s $\color{#35bf28}+0.07\%$
test_unbind_speed_stack0 0.3774ms 0.3337ms 2.9964 KOps/s 3.0053 KOps/s $\color{#d91a1a}-0.30\%$
test_unbind_speed_stack1 0.1143s 0.8609ms 1.1615 KOps/s 1.1607 KOps/s $\color{#35bf28}+0.08\%$
test_split 1.2022ms 1.1500ms 869.5625 Ops/s 876.0144 Ops/s $\color{#d91a1a}-0.74\%$
test_chunk 0.1138s 1.2259ms 815.7266 Ops/s 919.7896 Ops/s $\textbf{\color{#d91a1a}-11.31\%}$
test_to_cpu_blocking 20.1570ms 20.0180ms 49.9551 Ops/s 49.4366 Ops/s $\color{#35bf28}+1.05\%$
test_to_cpu_global_sync 12.0858ms 11.8713ms 84.2366 Ops/s 84.2680 Ops/s $\color{#d91a1a}-0.04\%$
test_to_cpu_event_sync 13.2376ms 12.8974ms 77.5352 Ops/s 69.4406 Ops/s $\textbf{\color{#35bf28}+11.66\%}$
test_to_cpu_default 13.2375ms 12.8850ms 77.6098 Ops/s 77.6741 Ops/s $\color{#d91a1a}-0.08\%$
test_consolidate[False-None] 0.1439s 4.7827ms 209.0852 Ops/s 237.2065 Ops/s $\textbf{\color{#d91a1a}-11.86\%}$
test_consolidate[default-None] 0.1909s 2.5442ms 393.0497 Ops/s 460.1170 Ops/s $\textbf{\color{#d91a1a}-14.58\%}$
test_consolidate[reduce-overhead-None] 0.2034s 2.4623ms 406.1219 Ops/s 476.1900 Ops/s $\textbf{\color{#d91a1a}-14.71\%}$
test_consolidate_njt[False-None] 9.1670ms 8.4966ms 117.6935 Ops/s 116.5921 Ops/s $\color{#35bf28}+0.94\%$
test_to[False-False-None] 2.2782ms 2.1532ms 464.4260 Ops/s 457.8192 Ops/s $\color{#35bf28}+1.44\%$
test_to[True-False-None] 2.1644ms 1.8993ms 526.5195 Ops/s 521.6182 Ops/s $\color{#35bf28}+0.94\%$
test_to[within-False-None] 6.5085ms 6.1739ms 161.9713 Ops/s 160.5568 Ops/s $\color{#35bf28}+0.88\%$
test_to[True-default-None] 10.9257ms 10.7065ms 93.4011 Ops/s 92.0827 Ops/s $\color{#35bf28}+1.43\%$
test_to_njt[False-False-None] 8.7339ms 8.6201ms 116.0085 Ops/s 115.3517 Ops/s $\color{#35bf28}+0.57\%$
test_to_njt[True-False-None] 7.2056ms 6.9031ms 144.8624 Ops/s 144.2045 Ops/s $\color{#35bf28}+0.46\%$
test_to_njt[within-False-None] 15.7334ms 15.5035ms 64.5017 Ops/s 64.3710 Ops/s $\color{#35bf28}+0.20\%$
test_creation[device0] 0.4770ms 0.1206ms 8.2898 KOps/s 8.6345 KOps/s $\color{#d91a1a}-3.99\%$
test_creation_from_tensor 0.4766ms 0.1191ms 8.3970 KOps/s 8.7663 KOps/s $\color{#d91a1a}-4.21\%$
test_add_one[memmap_tensor0] 0.6654ms 6.8731μs 145.4948 KOps/s 146.3467 KOps/s $\color{#d91a1a}-0.58\%$
test_contiguous[memmap_tensor0] 23.9810μs 0.6505μs 1.5373 MOps/s 1.9497 MOps/s $\textbf{\color{#d91a1a}-21.15\%}$
test_stack[memmap_tensor0] 29.4400μs 4.2466μs 235.4824 KOps/s 232.9783 KOps/s $\color{#35bf28}+1.07\%$
test_memmaptd_index 1.2590ms 0.2735ms 3.6561 KOps/s 3.6718 KOps/s $\color{#d91a1a}-0.43\%$
test_memmaptd_index_astensor 0.5372ms 0.3764ms 2.6564 KOps/s 2.6776 KOps/s $\color{#d91a1a}-0.79\%$
test_memmaptd_index_op 0.7953ms 0.6362ms 1.5720 KOps/s 1.5778 KOps/s $\color{#d91a1a}-0.37\%$
test_serialize_model 0.1373s 0.1348s 7.4177 Ops/s 7.4299 Ops/s $\color{#d91a1a}-0.16\%$
test_serialize_model_pickle 1.3496s 1.2104s 0.8262 Ops/s 0.8270 Ops/s $\color{#d91a1a}-0.10\%$
test_serialize_weights 0.1355s 0.1330s 7.5167 Ops/s 7.4836 Ops/s $\color{#35bf28}+0.44\%$
test_serialize_weights_returnearly 0.4878s 89.8030ms 11.1355 Ops/s 15.2410 Ops/s $\textbf{\color{#d91a1a}-26.94\%}$
test_serialize_weights_pickle 1.3654s 1.2134s 0.8241 Ops/s 0.8248 Ops/s $\color{#d91a1a}-0.08\%$
test_reshape_pytree 0.2143ms 32.7702μs 30.5155 KOps/s 30.7143 KOps/s $\color{#d91a1a}-0.65\%$
test_reshape_td 83.0520μs 44.5721μs 22.4355 KOps/s 21.9884 KOps/s $\color{#35bf28}+2.03\%$
test_view_pytree 0.2227ms 32.4810μs 30.7872 KOps/s 30.7642 KOps/s $\color{#35bf28}+0.07\%$
test_view_td 0.2239ms 53.5610μs 18.6703 KOps/s 18.5507 KOps/s $\color{#35bf28}+0.64\%$
test_unbind_pytree 0.2390ms 36.9908μs 27.0338 KOps/s 26.8567 KOps/s $\color{#35bf28}+0.66\%$
test_unbind_td 0.1118ms 50.1140μs 19.9545 KOps/s 18.7814 KOps/s $\textbf{\color{#35bf28}+6.25\%}$
test_split_pytree 0.2155ms 42.1375μs 23.7318 KOps/s 22.3781 KOps/s $\textbf{\color{#35bf28}+6.05\%}$
test_split_td 0.1502ms 65.8496μs 15.1861 KOps/s 15.0708 KOps/s $\color{#35bf28}+0.77\%$
test_add_pytree 0.2035ms 42.9175μs 23.3005 KOps/s 23.4231 KOps/s $\color{#d91a1a}-0.52\%$
test_add_td 0.1012ms 54.7930μs 18.2505 KOps/s 17.5470 KOps/s $\color{#35bf28}+4.01\%$
test_compile_add_one_nested[tensordict-compile] 0.3275ms 0.2331ms 4.2908 KOps/s 4.3279 KOps/s $\color{#d91a1a}-0.86\%$
test_compile_add_one_nested[tensordict-eager] 0.7356ms 0.1989ms 5.0286 KOps/s 5.0476 KOps/s $\color{#d91a1a}-0.38\%$
test_compile_add_one_nested[pytree-compile] 0.2982ms 0.1370ms 7.2980 KOps/s 7.3587 KOps/s $\color{#d91a1a}-0.83\%$
test_compile_add_one_nested[pytree-eager] 0.5090ms 0.1777ms 5.6285 KOps/s 5.4379 KOps/s $\color{#35bf28}+3.51\%$
test_compile_copy_nested[tensordict-compile] 57.6910μs 15.1089μs 66.1862 KOps/s 66.0050 KOps/s $\color{#35bf28}+0.27\%$
test_compile_copy_nested[tensordict-eager] 0.2954ms 53.2070μs 18.7945 KOps/s 18.4039 KOps/s $\color{#35bf28}+2.12\%$
test_compile_copy_nested[pytree-compile] 0.1529ms 15.5232μs 64.4199 KOps/s 63.9596 KOps/s $\color{#35bf28}+0.72\%$
test_compile_copy_nested[pytree-eager] 0.3945ms 68.8619μs 14.5218 KOps/s 14.8099 KOps/s $\color{#d91a1a}-1.95\%$
test_compile_add_one_flat[tensordict-compile] 0.3106ms 0.2574ms 3.8850 KOps/s 3.7905 KOps/s $\color{#35bf28}+2.49\%$
test_compile_add_one_flat[tensordict-eager] 0.3507ms 0.2811ms 3.5580 KOps/s 3.5512 KOps/s $\color{#35bf28}+0.19\%$
test_compile_add_one_flat[tensorclass-compile] 0.2978ms 0.1938ms 5.1610 KOps/s 5.1043 KOps/s $\color{#35bf28}+1.11\%$
test_compile_add_one_flat[tensorclass-eager] 0.1164ms 74.2544μs 13.4672 KOps/s 13.3084 KOps/s $\color{#35bf28}+1.19\%$
test_compile_add_one_flat[pytree-compile] 0.2584ms 0.1955ms 5.1164 KOps/s 4.8729 KOps/s $\color{#35bf28}+5.00\%$
test_compile_add_one_flat[pytree-eager] 0.7957ms 0.5223ms 1.9147 KOps/s 1.9197 KOps/s $\color{#d91a1a}-0.26\%$
test_compile_add_self_flat[tensordict-eager] 0.4142ms 0.3308ms 3.0229 KOps/s 2.9205 KOps/s $\color{#35bf28}+3.51\%$
test_compile_add_self_flat[tensordict-compile] 0.3164ms 0.2550ms 3.9223 KOps/s 3.6585 KOps/s $\textbf{\color{#35bf28}+7.21\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1440ms 91.3874μs 10.9424 KOps/s 10.8793 KOps/s $\color{#35bf28}+0.58\%$
test_compile_add_self_flat[tensorclass-compile] 0.3609ms 0.1955ms 5.1143 KOps/s 4.9572 KOps/s $\color{#35bf28}+3.17\%$
test_compile_add_self_flat[pytree-eager] 0.6789ms 0.4290ms 2.3312 KOps/s 2.2887 KOps/s $\color{#35bf28}+1.85\%$
test_compile_add_self_flat[pytree-compile] 0.2552ms 0.1944ms 5.1429 KOps/s 4.9846 KOps/s $\color{#35bf28}+3.18\%$
test_compile_copy_flat[tensordict-compile] 64.5910μs 19.3422μs 51.7005 KOps/s 51.1168 KOps/s $\color{#35bf28}+1.14\%$
test_compile_copy_flat[tensordict-eager] 70.8510μs 40.3904μs 24.7584 KOps/s 24.5458 KOps/s $\color{#35bf28}+0.87\%$
test_compile_copy_flat[pytree-compile] 0.2721ms 21.7303μs 46.0186 KOps/s 44.9946 KOps/s $\color{#35bf28}+2.28\%$
test_compile_copy_flat[pytree-eager] 0.1953s 62.2037μs 16.0762 KOps/s 19.3893 KOps/s $\textbf{\color{#d91a1a}-17.09\%}$
test_compile_assign_and_add[tensordict-compile] 2.1782ms 0.2424ms 4.1251 KOps/s 3.9438 KOps/s $\color{#35bf28}+4.60\%$
test_compile_assign_and_add[tensordict-eager] 3.4405ms 3.2578ms 306.9587 Ops/s 308.3542 Ops/s $\color{#d91a1a}-0.45\%$
test_compile_assign_and_add[pytree-compile] 2.0898ms 0.1832ms 5.4580 KOps/s 5.3916 KOps/s $\color{#35bf28}+1.23\%$
test_compile_assign_and_add[pytree-eager] 2.9902ms 2.7817ms 359.4923 Ops/s 358.7804 Ops/s $\color{#35bf28}+0.20\%$
test_compile_indexing[tensor-tensordict-compile] 0.2837ms 0.1378ms 7.2589 KOps/s 6.9996 KOps/s $\color{#35bf28}+3.71\%$
test_compile_indexing[tensor-tensordict-eager] 0.3829ms 75.0243μs 13.3290 KOps/s 13.1429 KOps/s $\color{#35bf28}+1.42\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2617ms 0.1231ms 8.1221 KOps/s 8.1525 KOps/s $\color{#d91a1a}-0.37\%$
test_compile_indexing[tensor-tensorclass-eager] 0.3042ms 43.6277μs 22.9212 KOps/s 22.4633 KOps/s $\color{#35bf28}+2.04\%$
test_compile_indexing[tensor-pytree-compile] 0.1730ms 0.1209ms 8.2706 KOps/s 7.9244 KOps/s $\color{#35bf28}+4.37\%$
test_compile_indexing[tensor-pytree-eager] 0.2464ms 43.8360μs 22.8123 KOps/s 22.4890 KOps/s $\color{#35bf28}+1.44\%$
test_compile_indexing[slice-tensordict-compile] 0.3021ms 84.6226μs 11.8172 KOps/s 11.4348 KOps/s $\color{#35bf28}+3.34\%$
test_compile_indexing[slice-tensordict-eager] 0.2146ms 26.4843μs 37.7582 KOps/s 34.2818 KOps/s $\textbf{\color{#35bf28}+10.14\%}$
test_compile_indexing[slice-tensorclass-compile] 0.1890ms 71.3195μs 14.0214 KOps/s 13.9500 KOps/s $\color{#35bf28}+0.51\%$
test_compile_indexing[slice-tensorclass-eager] 0.2564ms 22.0210μs 45.4112 KOps/s 44.5389 KOps/s $\color{#35bf28}+1.96\%$
test_compile_indexing[slice-pytree-compile] 0.1177ms 72.3612μs 13.8196 KOps/s 13.7165 KOps/s $\color{#35bf28}+0.75\%$
test_compile_indexing[slice-pytree-eager] 0.2364ms 22.0234μs 45.4062 KOps/s 42.7221 KOps/s $\textbf{\color{#35bf28}+6.28\%}$
test_compile_indexing[int-tensordict-compile] 0.1631ms 84.0861μs 11.8926 KOps/s 11.3842 KOps/s $\color{#35bf28}+4.47\%$
test_compile_indexing[int-tensordict-eager] 0.1994ms 26.6077μs 37.5832 KOps/s 35.5963 KOps/s $\textbf{\color{#35bf28}+5.58\%}$
test_compile_indexing[int-tensorclass-compile] 0.1146ms 71.4631μs 13.9932 KOps/s 13.5690 KOps/s $\color{#35bf28}+3.13\%$
test_compile_indexing[int-tensorclass-eager] 0.2490ms 22.1896μs 45.0661 KOps/s 43.6896 KOps/s $\color{#35bf28}+3.15\%$
test_compile_indexing[int-pytree-compile] 0.1201ms 71.1387μs 14.0571 KOps/s 13.5331 KOps/s $\color{#35bf28}+3.87\%$
test_compile_indexing[int-pytree-eager] 0.2605ms 22.1107μs 45.2270 KOps/s 43.0168 KOps/s $\textbf{\color{#35bf28}+5.14\%}$
test_compile_replace[single-eager] 80.4910μs 46.5881μs 21.4647 KOps/s 19.9702 KOps/s $\textbf{\color{#35bf28}+7.48\%}$
test_compile_replace[single-compile] 0.2698ms 0.1319ms 7.5831 KOps/s 7.5109 KOps/s $\color{#35bf28}+0.96\%$
test_compile_replace[multi-eager] 0.6430ms 0.5570ms 1.7955 KOps/s 1.7002 KOps/s $\textbf{\color{#35bf28}+5.60\%}$
test_compile_replace[multi-compile] 0.3775ms 0.1397ms 7.1584 KOps/s 6.9559 KOps/s $\color{#35bf28}+2.91\%$
test_compile_tc_getattr_20[eager] 0.2313ms 0.1638ms 6.1046 KOps/s 5.4270 KOps/s $\textbf{\color{#35bf28}+12.49\%}$
test_compile_tc_getattr_20[compile] 0.3759ms 0.1489ms 6.7179 KOps/s 6.5350 KOps/s $\color{#35bf28}+2.80\%$
test_compile_clone_shallow[20-eager] 78.0810μs 18.5156μs 54.0085 KOps/s 52.3261 KOps/s $\color{#35bf28}+3.22\%$
test_compile_clone_shallow[20-compile] 85.6220μs 16.6034μs 60.2287 KOps/s 58.4899 KOps/s $\color{#35bf28}+2.97\%$
test_compile_clone_shallow[40-eager] 73.7420μs 33.2255μs 30.0974 KOps/s 29.8159 KOps/s $\color{#35bf28}+0.94\%$
test_compile_clone_shallow[40-compile] 78.2920μs 18.1886μs 54.9796 KOps/s 52.4942 KOps/s $\color{#35bf28}+4.73\%$
test_compile_clone_shallow[80-eager] 88.6320μs 61.3732μs 16.2937 KOps/s 15.8712 KOps/s $\color{#35bf28}+2.66\%$
test_compile_clone_shallow[80-compile] 0.1014ms 21.7619μs 45.9519 KOps/s 45.5868 KOps/s $\color{#35bf28}+0.80\%$
test_compile_update_inplace[eager] 94.5120μs 61.9669μs 16.1376 KOps/s 15.4104 KOps/s $\color{#35bf28}+4.72\%$
test_compile_update_inplace[compile] 0.3712ms 0.1477ms 6.7702 KOps/s 6.7493 KOps/s $\color{#35bf28}+0.31\%$
test_mod_add[eager] 0.2852ms 0.2260ms 4.4253 KOps/s 4.3673 KOps/s $\color{#35bf28}+1.33\%$
test_mod_add[compile] 0.3050ms 0.1318ms 7.5852 KOps/s 7.4243 KOps/s $\color{#35bf28}+2.17\%$
test_mod_add[compile-overhead] 0.2630ms 0.1795ms 5.5707 KOps/s 5.5889 KOps/s $\color{#d91a1a}-0.33\%$
test_mod_wrap[eager] 0.6368ms 0.4834ms 2.0685 KOps/s 2.1199 KOps/s $\color{#d91a1a}-2.42\%$
test_mod_wrap[compile] 0.4947ms 0.4024ms 2.4850 KOps/s 2.5001 KOps/s $\color{#d91a1a}-0.61\%$
test_mod_wrap[compile-overhead] 8.3681ms 4.6024ms 217.2764 Ops/s 218.3847 Ops/s $\color{#d91a1a}-0.51\%$
test_mod_wrap_and_backward[eager] 1.9002ms 1.7031ms 587.1511 Ops/s 586.2518 Ops/s $\color{#35bf28}+0.15\%$
test_mod_wrap_and_backward[compile] 1.7329ms 1.5353ms 651.3419 Ops/s 647.3171 Ops/s $\color{#35bf28}+0.62\%$
test_mod_wrap_and_backward[compile-overhead] 1.3645ms 0.9473ms 1.0556 KOps/s 1.0466 KOps/s $\color{#35bf28}+0.86\%$
test_seq_add[eager] 0.6595ms 0.5102ms 1.9601 KOps/s 1.9522 KOps/s $\color{#35bf28}+0.40\%$
test_seq_add[compile] 0.2509ms 0.1424ms 7.0232 KOps/s 6.8296 KOps/s $\color{#35bf28}+2.83\%$
test_seq_add[compile-overhead] 0.3272ms 0.1841ms 5.4310 KOps/s 5.2941 KOps/s $\color{#35bf28}+2.59\%$
test_seq_wrap[eager] 1.4976ms 1.4058ms 711.3564 Ops/s 709.2620 Ops/s $\color{#35bf28}+0.30\%$
test_seq_wrap[compile] 0.5406ms 0.4188ms 2.3879 KOps/s 2.3872 KOps/s $\color{#35bf28}+0.03\%$
test_seq_wrap[compile-overhead] 0.4335ms 0.3053ms 3.2753 KOps/s 3.2352 KOps/s $\color{#35bf28}+1.24\%$
test_func_call_runtime[False-eager] 0.8850ms 0.8024ms 1.2463 KOps/s 1.2542 KOps/s $\color{#d91a1a}-0.63\%$
test_func_call_runtime[False-compile] 1.0939ms 0.9846ms 1.0156 KOps/s 1.0075 KOps/s $\color{#35bf28}+0.81\%$
test_func_call_runtime[False-compile-overhead] 0.5750ms 0.5076ms 1.9702 KOps/s 1.9416 KOps/s $\color{#35bf28}+1.47\%$
test_func_call_runtime[True-eager] 1.1704ms 1.0672ms 937.0558 Ops/s 942.2006 Ops/s $\color{#d91a1a}-0.55\%$
test_func_call_runtime[True-compile] 1.0661ms 0.9998ms 1.0002 KOps/s 995.8825 Ops/s $\color{#35bf28}+0.43\%$
test_func_call_runtime[True-compile-overhead] 0.5941ms 0.5242ms 1.9076 KOps/s 1.8785 KOps/s $\color{#35bf28}+1.55\%$
test_func_call_cm_runtime[False-eager] 0.8702ms 0.7959ms 1.2564 KOps/s 1.2415 KOps/s $\color{#35bf28}+1.20\%$
test_func_call_cm_runtime[False-compile] 1.0297ms 0.9658ms 1.0355 KOps/s 1.0292 KOps/s $\color{#35bf28}+0.61\%$
test_func_call_cm_runtime[False-compile-overhead] 0.6885ms 0.4922ms 2.0319 KOps/s 2.0116 KOps/s $\color{#35bf28}+1.01\%$
test_func_call_cm_runtime[True-eager] 1.3558ms 1.2072ms 828.3946 Ops/s 820.7125 Ops/s $\color{#35bf28}+0.94\%$
test_func_call_cm_runtime[True-compile] 1.0928ms 1.0255ms 975.1354 Ops/s 966.6201 Ops/s $\color{#35bf28}+0.88\%$
test_func_call_cm_runtime[True-compile-overhead] 0.6317ms 0.5501ms 1.8178 KOps/s 1.7848 KOps/s $\color{#35bf28}+1.85\%$
test_vmap_func_call_cm_runtime[eager] 2.9238ms 2.4399ms 409.8570 Ops/s 413.2935 Ops/s $\color{#d91a1a}-0.83\%$
test_vmap_func_call_cm_runtime[compile] 3.0877ms 2.6110ms 382.9916 Ops/s 384.4200 Ops/s $\color{#d91a1a}-0.37\%$
test_vmap_func_call_cm_runtime[compile-overhead] 3.0937ms 2.6148ms 382.4379 Ops/s 383.5016 Ops/s $\color{#d91a1a}-0.28\%$
test_distributed 0.5728ms 0.1440ms 6.9464 KOps/s 6.8858 KOps/s $\color{#35bf28}+0.88\%$
test_tdmodule 0.2636ms 0.1937ms 5.1623 KOps/s 5.1304 KOps/s $\color{#35bf28}+0.62\%$
test_tdmodule_dispatch 0.4377ms 0.3740ms 2.6737 KOps/s 2.6555 KOps/s $\color{#35bf28}+0.69\%$
test_tdseq 46.8810μs 26.9984μs 37.0392 KOps/s 37.0176 KOps/s $\color{#35bf28}+0.06\%$
test_tdseq_dispatch 0.2517ms 0.2178ms 4.5914 KOps/s 4.5877 KOps/s $\color{#35bf28}+0.08\%$
test_instantiation_functorch 2.1590ms 2.0565ms 486.2578 Ops/s 483.7237 Ops/s $\color{#35bf28}+0.52\%$
test_exec_functorch 0.2340ms 0.1815ms 5.5103 KOps/s 5.3846 KOps/s $\color{#35bf28}+2.33\%$
test_exec_functional_call 0.2286ms 0.1619ms 6.1770 KOps/s 6.1659 KOps/s $\color{#35bf28}+0.18\%$
test_exec_td_decorator 0.5008ms 0.2535ms 3.9444 KOps/s 3.9810 KOps/s $\color{#d91a1a}-0.92\%$
test_vmap_mlp_speed_decorator[True-True] 1.2413ms 1.0425ms 959.2095 Ops/s 958.3943 Ops/s $\color{#35bf28}+0.09\%$
test_vmap_mlp_speed_decorator[True-False] 1.2547ms 1.0381ms 963.3259 Ops/s 964.2061 Ops/s $\color{#d91a1a}-0.09\%$
test_vmap_mlp_speed_decorator[False-True] 0.9125ms 0.7409ms 1.3497 KOps/s 1.3516 KOps/s $\color{#d91a1a}-0.14\%$
test_vmap_mlp_speed_decorator[False-False] 0.9760ms 0.7403ms 1.3509 KOps/s 1.3523 KOps/s $\color{#d91a1a}-0.10\%$
test_vmap_transformer_speed_decorator[True-True] 21.3995ms 21.1523ms 47.2763 Ops/s 47.4446 Ops/s $\color{#d91a1a}-0.35\%$
test_vmap_transformer_speed_decorator[True-False] 21.7156ms 21.1300ms 47.3260 Ops/s 47.3217 Ops/s $+0.01\%$
test_vmap_transformer_speed_decorator[False-True] 21.6610ms 20.7589ms 48.1722 Ops/s 48.2683 Ops/s $\color{#d91a1a}-0.20\%$
test_vmap_transformer_speed_decorator[False-False] 21.5389ms 20.7509ms 48.1908 Ops/s 48.3272 Ops/s $\color{#d91a1a}-0.28\%$
test_to_module_speed[True] 2.2773ms 1.6422ms 608.9480 Ops/s 605.1504 Ops/s $\color{#35bf28}+0.63\%$
test_to_module_speed[False] 2.2485ms 1.6124ms 620.1763 Ops/s 615.6231 Ops/s $\color{#35bf28}+0.74\%$
test_to_module_plain_tensor_speed[None] 2.4087ms 1.7269ms 579.0787 Ops/s 576.5494 Ops/s $\color{#35bf28}+0.44\%$
test_to_module_plain_tensor_speed[False] 2.1953ms 1.5723ms 635.9993 Ops/s 636.2581 Ops/s $\color{#d91a1a}-0.04\%$
test_to_module_plain_tensor_speed[True] 3.4447ms 3.3681ms 296.9032 Ops/s 295.4827 Ops/s $\color{#35bf28}+0.48\%$
test_tc_init 65.2710μs 42.3673μs 23.6031 KOps/s 22.9965 KOps/s $\color{#35bf28}+2.64\%$
test_tc_init_tensor_only 32.1900μs 9.0950μs 109.9505 KOps/s 109.6946 KOps/s $\color{#35bf28}+0.23\%$
test_tc_init_nested 0.1245ms 84.4338μs 11.8436 KOps/s 11.8403 KOps/s $\color{#35bf28}+0.03\%$
test_tc_init_many_fields 59.4110μs 15.0965μs 66.2404 KOps/s 68.1642 KOps/s $\color{#d91a1a}-2.82\%$
test_tc_first_layer_tensor 24.6800μs 1.8064μs 553.5927 KOps/s 560.5919 KOps/s $\color{#d91a1a}-1.25\%$
test_tc_first_layer_tensor_only 2.6293μs 0.4046μs 2.4716 MOps/s 2.5571 MOps/s $\color{#d91a1a}-3.35\%$
test_tc_first_layer_tensor_set 24.6700μs 3.9444μs 253.5219 KOps/s 257.9776 KOps/s $\color{#d91a1a}-1.73\%$
test_tc_first_layer_tensor_only_set 22.7600μs 3.2578μs 306.9534 KOps/s 313.7061 KOps/s $\color{#d91a1a}-2.15\%$
test_tc_first_layer_nontensor 26.0110μs 6.1537μs 162.5033 KOps/s 164.3025 KOps/s $\color{#d91a1a}-1.10\%$
test_tc_second_layer_tensor 33.0910μs 4.3956μs 227.4979 KOps/s 228.5484 KOps/s $\color{#d91a1a}-0.46\%$
test_tc_second_layer_nontensor 31.6410μs 8.6758μs 115.2628 KOps/s 116.6618 KOps/s $\color{#d91a1a}-1.20\%$
test_unbind 0.2764s 14.0444ms 71.2028 Ops/s 67.3841 Ops/s $\textbf{\color{#35bf28}+5.67\%}$
test_full_like 4.5963ms 4.3668ms 229.0002 Ops/s 227.9152 Ops/s $\color{#35bf28}+0.48\%$
test_zeros_like 4.7033ms 4.3604ms 229.3388 Ops/s 228.8243 Ops/s $\color{#35bf28}+0.22\%$
test_ones_like 4.5581ms 4.3647ms 229.1127 Ops/s 228.0668 Ops/s $\color{#35bf28}+0.46\%$
test_clone 6.7245ms 6.4683ms 154.6006 Ops/s 154.4996 Ops/s $\color{#35bf28}+0.07\%$
test_squeeze 72.8610μs 14.1369μs 70.7367 KOps/s 67.4923 KOps/s $\color{#35bf28}+4.81\%$
test_unsqueeze 0.2821ms 0.1103ms 9.0640 KOps/s 8.9227 KOps/s $\color{#35bf28}+1.58\%$
test_split 0.2573ms 0.1808ms 5.5320 KOps/s 5.4811 KOps/s $\color{#35bf28}+0.93\%$
test_permute 0.2428ms 0.1943ms 5.1480 KOps/s 4.9381 KOps/s $\color{#35bf28}+4.25\%$
test_stack 18.4243ms 18.0275ms 55.4709 Ops/s 55.2318 Ops/s $\color{#35bf28}+0.43\%$
test_cat 18.2427ms 17.9815ms 55.6126 Ops/s 55.3069 Ops/s $\color{#35bf28}+0.55\%$
test_sequential_tensordict 0.6918ms 0.5719ms 1.7486 KOps/s 1.7377 KOps/s $\color{#35bf28}+0.62\%$
test_sequential_graph_module 0.5062ms 0.1173ms 8.5283 KOps/s 8.4078 KOps/s $\color{#35bf28}+1.43\%$
test_nested_tensordict 1.1433ms 0.8125ms 1.2308 KOps/s 1.1984 KOps/s $\color{#35bf28}+2.70\%$
test_nested_graph_module 0.2009ms 0.1287ms 7.7688 KOps/s 7.4947 KOps/s $\color{#35bf28}+3.66\%$

@github-actions

Copy link
Copy Markdown
Contributor

$\color{#D29922}\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Result of CPU Benchmark Tests

Total Benchmarks: 344. Improved: $\large\color{#35bf28}13$. Worsened: $\large\color{#d91a1a}19$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2041ms 0.1706ms 5.8609 KOps/s 6.0749 KOps/s $\color{#d91a1a}-3.52\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3473ms 0.2980ms 3.3556 KOps/s 3.4117 KOps/s $\color{#d91a1a}-1.64\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.8340ms 0.7866ms 1.2713 KOps/s 1.2769 KOps/s $\color{#d91a1a}-0.44\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.4085ms 0.3455ms 2.8940 KOps/s 2.9415 KOps/s $\color{#d91a1a}-1.61\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.2909ms 1.1124ms 898.9917 Ops/s 919.7433 Ops/s $\color{#d91a1a}-2.26\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.5285ms 7.3393ms 136.2529 Ops/s 135.9354 Ops/s $\color{#35bf28}+0.23\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.3085ms 0.2573ms 3.8862 KOps/s 3.9787 KOps/s $\color{#d91a1a}-2.32\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.5250ms 0.3782ms 2.6444 KOps/s 2.6871 KOps/s $\color{#d91a1a}-1.59\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9083ms 0.8327ms 1.2009 KOps/s 1.2057 KOps/s $\color{#d91a1a}-0.39\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3241ms 0.2588ms 3.8645 KOps/s 4.0440 KOps/s $\color{#d91a1a}-4.44\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.4509ms 0.3814ms 2.6221 KOps/s 2.6656 KOps/s $\color{#d91a1a}-1.63\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9589ms 0.8950ms 1.1173 KOps/s 1.1246 KOps/s $\color{#d91a1a}-0.65\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2778ms 0.2139ms 4.6750 KOps/s 4.6422 KOps/s $\color{#35bf28}+0.71\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.9636ms 0.8219ms 1.2167 KOps/s 1.1982 KOps/s $\color{#35bf28}+1.55\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.6312ms 3.3110ms 302.0204 Ops/s 302.7438 Ops/s $\color{#d91a1a}-0.24\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.4567ms 0.3804ms 2.6288 KOps/s 2.7324 KOps/s $\color{#d91a1a}-3.79\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 1.9046ms 1.7374ms 575.5644 Ops/s 610.2707 Ops/s $\textbf{\color{#d91a1a}-5.69\%}$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.6588ms 10.2206ms 97.8416 Ops/s 96.1659 Ops/s $\color{#35bf28}+1.74\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4192ms 0.3940ms 2.5383 KOps/s 2.5629 KOps/s $\color{#d91a1a}-0.96\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.6228ms 1.4793ms 675.9960 Ops/s 692.1778 Ops/s $\color{#d91a1a}-2.34\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 5.9276ms 5.7392ms 174.2398 Ops/s 175.1096 Ops/s $\color{#d91a1a}-0.50\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4481ms 0.3946ms 2.5340 KOps/s 2.5406 KOps/s $\color{#d91a1a}-0.26\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.6415ms 1.5482ms 645.9211 Ops/s 679.0593 Ops/s $\color{#d91a1a}-4.88\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 6.2773ms 5.9994ms 166.6825 Ops/s 172.5354 Ops/s $\color{#d91a1a}-3.39\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2199ms 0.1747ms 5.7227 KOps/s 5.7946 KOps/s $\color{#d91a1a}-1.24\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.8502ms 0.6735ms 1.4848 KOps/s 1.4751 KOps/s $\color{#35bf28}+0.66\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 3.4025ms 2.7365ms 365.4336 Ops/s 370.5781 Ops/s $\color{#d91a1a}-1.39\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.4406ms 0.3181ms 3.1433 KOps/s 3.1413 KOps/s $\color{#35bf28}+0.06\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.7307ms 1.4757ms 677.6588 Ops/s 671.1597 Ops/s $\color{#35bf28}+0.97\%$
test_collector_preallocated_write[copy_at-cpu-4096-32] 9.6969ms 9.5118ms 105.1325 Ops/s 102.3554 Ops/s $\color{#35bf28}+2.71\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.9547ms 0.3303ms 3.0277 KOps/s 3.0276 KOps/s $+0.00\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.3237ms 1.2255ms 815.9903 Ops/s 815.2960 Ops/s $\color{#35bf28}+0.09\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.8730ms 4.7909ms 208.7310 Ops/s 208.0883 Ops/s $\color{#35bf28}+0.31\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.4990ms 0.3307ms 3.0242 KOps/s 3.0217 KOps/s $\color{#35bf28}+0.08\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.2848ms 1.2308ms 812.5001 Ops/s 822.6782 Ops/s $\color{#d91a1a}-1.24\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 5.0109ms 4.8118ms 207.8207 Ops/s 210.3894 Ops/s $\color{#d91a1a}-1.22\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1654ms 0.1214ms 8.2393 KOps/s 8.5176 KOps/s $\color{#d91a1a}-3.27\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5379ms 0.4768ms 2.0975 KOps/s 2.1711 KOps/s $\color{#d91a1a}-3.39\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 2.0630ms 1.8986ms 526.7156 Ops/s 546.2898 Ops/s $\color{#d91a1a}-3.58\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3382ms 0.2619ms 3.8177 KOps/s 3.9304 KOps/s $\color{#d91a1a}-2.87\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.9936ms 1.3775ms 725.9790 Ops/s 802.0465 Ops/s $\textbf{\color{#d91a1a}-9.48\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 8.9356ms 8.5234ms 117.3242 Ops/s 117.9488 Ops/s $\color{#d91a1a}-0.53\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3787ms 0.2807ms 3.5628 KOps/s 3.6595 KOps/s $\color{#d91a1a}-2.64\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.1175ms 1.0381ms 963.3200 Ops/s 988.4219 Ops/s $\color{#d91a1a}-2.54\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.1414ms 4.0898ms 244.5080 Ops/s 250.4647 Ops/s $\color{#d91a1a}-2.38\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3225ms 0.2795ms 3.5783 KOps/s 3.6569 KOps/s $\color{#d91a1a}-2.15\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.1920ms 1.0383ms 963.0885 Ops/s 987.6561 Ops/s $\color{#d91a1a}-2.49\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.1372ms 4.0850ms 244.8001 Ops/s 250.7189 Ops/s $\color{#d91a1a}-2.36\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 16.5979ms 16.4843ms 60.6639 Ops/s 60.5855 Ops/s $\color{#35bf28}+0.13\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.4222ms 33.2738ms 30.0537 Ops/s 29.9703 Ops/s $\color{#35bf28}+0.28\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 84.8864ms 84.1521ms 11.8832 Ops/s 12.0038 Ops/s $\color{#d91a1a}-1.00\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.1993s 0.1985s 5.0375 Ops/s 5.1155 Ops/s $\color{#d91a1a}-1.53\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 14.0218ms 13.9202ms 71.8381 Ops/s 72.0239 Ops/s $\color{#d91a1a}-0.26\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.7710ms 27.1712ms 36.8037 Ops/s 36.7686 Ops/s $\color{#35bf28}+0.10\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.1649ms 14.0623ms 71.1122 Ops/s 71.3392 Ops/s $\color{#d91a1a}-0.32\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 27.7873ms 27.6825ms 36.1240 Ops/s 36.3499 Ops/s $\color{#d91a1a}-0.62\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 55.1344ms 53.9175ms 18.5468 Ops/s 19.4166 Ops/s $\color{#d91a1a}-4.48\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1105s 0.1074s 9.3138 Ops/s 9.7272 Ops/s $\color{#d91a1a}-4.25\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1468s 0.1448s 6.9071 Ops/s 6.9197 Ops/s $\color{#d91a1a}-0.18\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3206s 0.3192s 3.1324 Ops/s 3.1415 Ops/s $\color{#d91a1a}-0.29\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 79.2593ms 76.3184ms 13.1030 Ops/s 12.7552 Ops/s $\color{#35bf28}+2.73\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1491s 0.1485s 6.7361 Ops/s 6.4433 Ops/s $\color{#35bf28}+4.54\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 80.1365ms 79.6523ms 12.5546 Ops/s 12.6787 Ops/s $\color{#d91a1a}-0.98\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1596s 0.1562s 6.4039 Ops/s 6.7660 Ops/s $\textbf{\color{#d91a1a}-5.35\%}$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.9597ms 30.6105ms 32.6685 Ops/s 33.0338 Ops/s $\color{#d91a1a}-1.11\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.9351ms 61.7394ms 16.1971 Ops/s 16.3456 Ops/s $\color{#d91a1a}-0.91\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1197s 0.1193s 8.3824 Ops/s 8.6048 Ops/s $\color{#d91a1a}-2.58\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2702s 0.2690s 3.7172 Ops/s 3.8320 Ops/s $\color{#d91a1a}-3.00\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 44.5137ms 44.3610ms 22.5423 Ops/s 23.0693 Ops/s $\color{#d91a1a}-2.28\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 88.9668ms 88.8359ms 11.2567 Ops/s 11.5692 Ops/s $\color{#d91a1a}-2.70\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 45.4633ms 44.8045ms 22.3192 Ops/s 22.9486 Ops/s $\color{#d91a1a}-2.74\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 89.4643ms 89.2771ms 11.2011 Ops/s 11.5118 Ops/s $\color{#d91a1a}-2.70\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.6867ms 20.5643ms 48.6280 Ops/s 49.9585 Ops/s $\color{#d91a1a}-2.66\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 42.3854ms 42.0011ms 23.8089 Ops/s 24.5297 Ops/s $\color{#d91a1a}-2.94\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1068s 0.1062s 9.4174 Ops/s 9.5825 Ops/s $\color{#d91a1a}-1.72\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2447s 0.2421s 4.1309 Ops/s 4.2154 Ops/s $\color{#d91a1a}-2.00\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 38.0404ms 37.4856ms 26.6769 Ops/s 27.4299 Ops/s $\color{#d91a1a}-2.75\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 75.4236ms 75.0292ms 13.3281 Ops/s 13.7456 Ops/s $\color{#d91a1a}-3.04\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 37.8774ms 37.4819ms 26.6795 Ops/s 27.4292 Ops/s $\color{#d91a1a}-2.73\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 75.3546ms 74.8035ms 13.3684 Ops/s 13.8249 Ops/s $\color{#d91a1a}-3.30\%$
test_plain_set_nested 50.7820μs 15.1426μs 66.0390 KOps/s 65.9100 KOps/s $\color{#35bf28}+0.20\%$
test_plain_set_stack_nested 57.6710μs 14.5964μs 68.5101 KOps/s 67.3629 KOps/s $\color{#35bf28}+1.70\%$
test_plain_set_nested_inplace 52.6910μs 16.3504μs 61.1604 KOps/s 59.3579 KOps/s $\color{#35bf28}+3.04\%$
test_plain_set_stack_nested_inplace 48.8210μs 15.9733μs 62.6045 KOps/s 61.3484 KOps/s $\color{#35bf28}+2.05\%$
test_items 48.3310μs 5.9858μs 167.0622 KOps/s 162.3740 KOps/s $\color{#35bf28}+2.89\%$
test_items_nested 0.5686ms 0.4602ms 2.1730 KOps/s 2.1364 KOps/s $\color{#35bf28}+1.72\%$
test_items_nested_locked 0.6161ms 0.4581ms 2.1829 KOps/s 2.1309 KOps/s $\color{#35bf28}+2.44\%$
test_items_nested_leaf 0.2602ms 98.7735μs 10.1242 KOps/s 10.0861 KOps/s $\color{#35bf28}+0.38\%$
test_items_stack_nested 0.5661ms 0.4618ms 2.1656 KOps/s 2.1419 KOps/s $\color{#35bf28}+1.11\%$
test_items_stack_nested_leaf 0.1389ms 99.5776μs 10.0424 KOps/s 10.0274 KOps/s $\color{#35bf28}+0.15\%$
test_items_stack_nested_locked 0.5494ms 0.4659ms 2.1463 KOps/s 2.1304 KOps/s $\color{#35bf28}+0.75\%$
test_keys 23.6800μs 4.1699μs 239.8159 KOps/s 237.6436 KOps/s $\color{#35bf28}+0.91\%$
test_keys_nested 0.1705ms 0.1290ms 7.7544 KOps/s 7.7461 KOps/s $\color{#35bf28}+0.11\%$
test_keys_nested_locked 0.7635ms 0.1379ms 7.2498 KOps/s 7.2247 KOps/s $\color{#35bf28}+0.35\%$
test_keys_nested_leaf 0.1662ms 0.1199ms 8.3396 KOps/s 8.2959 KOps/s $\color{#35bf28}+0.53\%$
test_keys_stack_nested 0.1597ms 0.1285ms 7.7840 KOps/s 7.7177 KOps/s $\color{#35bf28}+0.86\%$
test_keys_stack_nested_leaf 0.2069ms 0.1183ms 8.4543 KOps/s 8.3497 KOps/s $\color{#35bf28}+1.25\%$
test_keys_stack_nested_locked 0.1908ms 0.1371ms 7.2923 KOps/s 7.2779 KOps/s $\color{#35bf28}+0.20\%$
test_values 5.5062μs 1.0118μs 988.3727 KOps/s 983.9906 KOps/s $\color{#35bf28}+0.45\%$
test_values_nested 82.2720μs 52.2869μs 19.1253 KOps/s 19.1119 KOps/s $\color{#35bf28}+0.07\%$
test_values_nested_locked 0.1030ms 55.8273μs 17.9124 KOps/s 18.1684 KOps/s $\color{#d91a1a}-1.41\%$
test_values_nested_leaf 91.7520μs 60.1135μs 16.6352 KOps/s 16.6062 KOps/s $\color{#35bf28}+0.17\%$
test_values_stack_nested 82.7620μs 52.2415μs 19.1419 KOps/s 19.1191 KOps/s $\color{#35bf28}+0.12\%$
test_values_stack_nested_leaf 93.5920μs 60.0605μs 16.6499 KOps/s 16.6592 KOps/s $\color{#d91a1a}-0.06\%$
test_values_stack_nested_locked 92.8420μs 55.3353μs 18.0716 KOps/s 18.0482 KOps/s $\color{#35bf28}+0.13\%$
test_membership 6.4252μs 0.8439μs 1.1849 MOps/s 1.1972 MOps/s $\color{#d91a1a}-1.02\%$
test_membership_nested 24.5200μs 2.9772μs 335.8808 KOps/s 334.4604 KOps/s $\color{#35bf28}+0.42\%$
test_membership_nested_leaf 30.8900μs 2.9756μs 336.0706 KOps/s 337.9978 KOps/s $\color{#d91a1a}-0.57\%$
test_membership_stacked_nested 47.7210μs 2.8668μs 348.8239 KOps/s 343.6385 KOps/s $\color{#35bf28}+1.51\%$
test_membership_stacked_nested_leaf 19.5210μs 2.8580μs 349.8945 KOps/s 347.7438 KOps/s $\color{#35bf28}+0.62\%$
test_membership_nested_last 45.9010μs 4.4423μs 225.1108 KOps/s 223.7283 KOps/s $\color{#35bf28}+0.62\%$
test_membership_nested_leaf_last 25.1800μs 4.4656μs 223.9352 KOps/s 225.1407 KOps/s $\color{#d91a1a}-0.54\%$
test_membership_stacked_nested_last 45.5420μs 4.2870μs 233.2631 KOps/s 229.5370 KOps/s $\color{#35bf28}+1.62\%$
test_membership_stacked_nested_leaf_last 25.5610μs 4.2813μs 233.5734 KOps/s 230.5115 KOps/s $\color{#35bf28}+1.33\%$
test_nested_getleaf 51.1810μs 20.7847μs 48.1123 KOps/s 45.8880 KOps/s $\color{#35bf28}+4.85\%$
test_nested_get 47.0410μs 19.6057μs 51.0054 KOps/s 48.3843 KOps/s $\textbf{\color{#35bf28}+5.42\%}$
test_stacked_getleaf 49.0620μs 20.6311μs 48.4705 KOps/s 45.9184 KOps/s $\textbf{\color{#35bf28}+5.56\%}$
test_stacked_get 47.1410μs 19.9658μs 50.0857 KOps/s 48.8746 KOps/s $\color{#35bf28}+2.48\%$
test_nested_getitemleaf 50.1210μs 21.5279μs 46.4515 KOps/s 44.5436 KOps/s $\color{#35bf28}+4.28\%$
test_nested_getitem 47.9820μs 20.3443μs 49.1538 KOps/s 46.2548 KOps/s $\textbf{\color{#35bf28}+6.27\%}$
test_stacked_getitemleaf 63.8620μs 21.0721μs 47.4561 KOps/s 45.2699 KOps/s $\color{#35bf28}+4.83\%$
test_stacked_getitem 50.2510μs 20.2858μs 49.2956 KOps/s 47.2039 KOps/s $\color{#35bf28}+4.43\%$
test_lock_nested 8.0389ms 0.5157ms 1.9390 KOps/s 1.9581 KOps/s $\color{#d91a1a}-0.97\%$
test_lock_stack_nested 0.5940ms 0.5136ms 1.9472 KOps/s 1.9738 KOps/s $\color{#d91a1a}-1.35\%$
test_unlock_nested 0.4722ms 0.4030ms 2.4816 KOps/s 2.5096 KOps/s $\color{#d91a1a}-1.11\%$
test_unlock_stack_nested 0.5398ms 0.4079ms 2.4518 KOps/s 2.4949 KOps/s $\color{#d91a1a}-1.73\%$
test_flatten_speed 0.2022ms 0.1227ms 8.1516 KOps/s 8.1279 KOps/s $\color{#35bf28}+0.29\%$
test_unflatten_speed 0.6121ms 0.5565ms 1.7970 KOps/s 1.7695 KOps/s $\color{#35bf28}+1.55\%$
test_common_ops 0.9022ms 0.7151ms 1.3984 KOps/s 1.3941 KOps/s $\color{#35bf28}+0.31\%$
test_creation 0.1149ms 3.1735μs 315.1058 KOps/s 313.9867 KOps/s $\color{#35bf28}+0.36\%$
test_creation_empty 27.4110μs 6.9889μs 143.0833 KOps/s 143.2916 KOps/s $\color{#d91a1a}-0.15\%$
test_creation_nested_1 29.8210μs 11.4522μs 87.3194 KOps/s 86.2115 KOps/s $\color{#35bf28}+1.29\%$
test_creation_nested_2 31.6410μs 13.3821μs 74.7264 KOps/s 73.4742 KOps/s $\color{#35bf28}+1.70\%$
test_creation_many_keys[10] 51.4110μs 20.9375μs 47.7613 KOps/s 47.2096 KOps/s $\color{#35bf28}+1.17\%$
test_creation_many_keys[50] 0.1507ms 90.0054μs 11.1104 KOps/s 10.9445 KOps/s $\color{#35bf28}+1.52\%$
test_creation_many_keys[100] 0.2183ms 0.1740ms 5.7455 KOps/s 5.6066 KOps/s $\color{#35bf28}+2.48\%$
test_creation_nested_many_keys[10] 74.8710μs 44.6821μs 22.3803 KOps/s 21.9342 KOps/s $\color{#35bf28}+2.03\%$
test_creation_nested_many_keys[50] 0.2086ms 0.1830ms 5.4652 KOps/s 5.3486 KOps/s $\color{#35bf28}+2.18\%$
test_clone 0.2929ms 13.6769μs 73.1157 KOps/s 73.8355 KOps/s $\color{#d91a1a}-0.97\%$
test_getitem[int] 1.5490ms 15.4380μs 64.7752 KOps/s 65.6355 KOps/s $\color{#d91a1a}-1.31\%$
test_getitem[slice_int] 0.1445ms 25.0859μs 39.8631 KOps/s 40.3407 KOps/s $\color{#d91a1a}-1.18\%$
test_getitem[range] 0.1803ms 63.2439μs 15.8118 KOps/s 15.7688 KOps/s $\color{#35bf28}+0.27\%$
test_getitem[tuple] 0.1488ms 24.5804μs 40.6828 KOps/s 41.0649 KOps/s $\color{#d91a1a}-0.93\%$
test_getitem[list] 0.1798ms 58.5318μs 17.0847 KOps/s 16.9693 KOps/s $\color{#35bf28}+0.68\%$
test_setitem_dim[int] 60.0910μs 25.6894μs 38.9266 KOps/s 39.3639 KOps/s $\color{#d91a1a}-1.11\%$
test_setitem_dim[slice_int] 64.2010μs 43.4708μs 23.0040 KOps/s 23.7653 KOps/s $\color{#d91a1a}-3.20\%$
test_setitem_dim[range] 0.1445ms 99.5729μs 10.0429 KOps/s 10.6033 KOps/s $\textbf{\color{#d91a1a}-5.29\%}$
test_setitem_dim[tuple] 64.1320μs 42.4229μs 23.5722 KOps/s 25.5485 KOps/s $\textbf{\color{#d91a1a}-7.74\%}$
test_setitem 57.2210μs 18.3711μs 54.4333 KOps/s 55.3575 KOps/s $\color{#d91a1a}-1.67\%$
test_set 48.3610μs 17.3821μs 57.5304 KOps/s 57.5077 KOps/s $\color{#35bf28}+0.04\%$
test_set_shared 0.4946ms 0.2090ms 4.7855 KOps/s 4.8175 KOps/s $\color{#d91a1a}-0.67\%$
test_update 0.3400ms 22.3767μs 44.6893 KOps/s 44.5577 KOps/s $\color{#35bf28}+0.30\%$
test_update_nested 69.4920μs 34.7104μs 28.8098 KOps/s 28.9251 KOps/s $\color{#d91a1a}-0.40\%$
test_update__nested 0.5474ms 33.1683μs 30.1493 KOps/s 24.1421 KOps/s $\textbf{\color{#35bf28}+24.88\%}$
test_set_nested 75.9020μs 20.5721μs 48.6095 KOps/s 52.1061 KOps/s $\textbf{\color{#d91a1a}-6.71\%}$
test_set_nested_new 51.2410μs 24.1152μs 41.4676 KOps/s 41.6957 KOps/s $\color{#d91a1a}-0.55\%$
test_select 71.1610μs 41.2784μs 24.2258 KOps/s 24.6293 KOps/s $\color{#d91a1a}-1.64\%$
test_select_nested 0.1064ms 75.0004μs 13.3333 KOps/s 13.4180 KOps/s $\color{#d91a1a}-0.63\%$
test_exclude_nested 0.1441ms 90.5235μs 11.0469 KOps/s 10.9659 KOps/s $\color{#35bf28}+0.74\%$
test_empty[True] 0.7433ms 0.3995ms 2.5033 KOps/s 2.5010 KOps/s $\color{#35bf28}+0.09\%$
test_empty[False] 17.3680μs 1.3575μs 736.6431 KOps/s 711.9617 KOps/s $\color{#35bf28}+3.47\%$
test_to 0.1354ms 74.8872μs 13.3534 KOps/s 14.2553 KOps/s $\textbf{\color{#d91a1a}-6.33\%}$
test_to_nonblocking 0.1443ms 74.4751μs 13.4273 KOps/s 14.4751 KOps/s $\textbf{\color{#d91a1a}-7.24\%}$
test_unbind_speed 1.2419ms 0.3492ms 2.8639 KOps/s 2.9535 KOps/s $\color{#d91a1a}-3.03\%$
test_unbind_speed_stack0 0.4199ms 0.3414ms 2.9289 KOps/s 2.9834 KOps/s $\color{#d91a1a}-1.83\%$
test_unbind_speed_stack1 0.1150s 0.8597ms 1.1632 KOps/s 1.3205 KOps/s $\textbf{\color{#d91a1a}-11.92\%}$
test_split 1.2394ms 1.1448ms 873.5524 Ops/s 875.3532 Ops/s $\color{#d91a1a}-0.21\%$
test_chunk 0.1149s 1.2276ms 814.5934 Ops/s 916.6727 Ops/s $\textbf{\color{#d91a1a}-11.14\%}$
test_to_cpu_blocking 20.7004ms 20.4301ms 48.9473 Ops/s 49.1505 Ops/s $\color{#d91a1a}-0.41\%$
test_to_cpu_global_sync 12.3440ms 12.1690ms 82.1764 Ops/s 82.5593 Ops/s $\color{#d91a1a}-0.46\%$
test_to_cpu_event_sync 13.4980ms 13.1631ms 75.9699 Ops/s 76.6633 Ops/s $\color{#d91a1a}-0.90\%$
test_to_cpu_default 13.5750ms 13.1728ms 75.9143 Ops/s 76.9624 Ops/s $\color{#d91a1a}-1.36\%$
test_consolidate[False-None] 4.2774ms 4.1780ms 239.3496 Ops/s 237.9590 Ops/s $\color{#35bf28}+0.58\%$
test_consolidate[default-None] 3.5357ms 2.2241ms 449.6239 Ops/s 456.4378 Ops/s $\color{#d91a1a}-1.49\%$
test_consolidate[reduce-overhead-None] 3.5387ms 2.1269ms 470.1650 Ops/s 470.3187 Ops/s $\color{#d91a1a}-0.03\%$
test_consolidate_njt[False-None] 8.6434ms 8.4811ms 117.9092 Ops/s 116.1680 Ops/s $\color{#35bf28}+1.50\%$
test_to[False-False-None] 2.3926ms 2.2038ms 453.7673 Ops/s 455.6080 Ops/s $\color{#d91a1a}-0.40\%$
test_to[True-False-None] 2.2535ms 1.9513ms 512.4713 Ops/s 527.1513 Ops/s $\color{#d91a1a}-2.78\%$
test_to[within-False-None] 0.2105s 7.5215ms 132.9516 Ops/s 160.7640 Ops/s $\textbf{\color{#d91a1a}-17.30\%}$
test_to[True-default-None] 10.9626ms 10.7483ms 93.0376 Ops/s 92.0881 Ops/s $\color{#35bf28}+1.03\%$
test_to_njt[False-False-None] 8.8085ms 8.6629ms 115.4346 Ops/s 115.3554 Ops/s $\color{#35bf28}+0.07\%$
test_to_njt[True-False-None] 7.0676ms 6.8972ms 144.9863 Ops/s 144.1378 Ops/s $\color{#35bf28}+0.59\%$
test_to_njt[within-False-None] 15.6076ms 15.4166ms 64.8653 Ops/s 64.0408 Ops/s $\color{#35bf28}+1.29\%$
test_creation[device0] 0.3486ms 0.1141ms 8.7639 KOps/s 8.6838 KOps/s $\color{#35bf28}+0.92\%$
test_creation_from_tensor 0.4039ms 0.1116ms 8.9620 KOps/s 8.8781 KOps/s $\color{#35bf28}+0.94\%$
test_add_one[memmap_tensor0] 0.1922ms 6.8849μs 145.2449 KOps/s 146.3253 KOps/s $\color{#d91a1a}-0.74\%$
test_contiguous[memmap_tensor0] 24.5400μs 0.6443μs 1.5521 MOps/s 2.2236 MOps/s $\textbf{\color{#d91a1a}-30.20\%}$
test_stack[memmap_tensor0] 89.9130μs 4.4367μs 225.3907 KOps/s 236.7824 KOps/s $\color{#d91a1a}-4.81\%$
test_memmaptd_index 1.2156ms 0.2795ms 3.5784 KOps/s 3.6369 KOps/s $\color{#d91a1a}-1.61\%$
test_memmaptd_index_astensor 0.5599ms 0.3821ms 2.6172 KOps/s 2.6290 KOps/s $\color{#d91a1a}-0.45\%$
test_memmaptd_index_op 1.0781ms 0.6457ms 1.5487 KOps/s 1.5197 KOps/s $\color{#35bf28}+1.90\%$
test_serialize_model 0.1384s 0.1341s 7.4581 Ops/s 7.3450 Ops/s $\color{#35bf28}+1.54\%$
test_serialize_model_pickle 1.3472s 1.2100s 0.8265 Ops/s 0.8269 Ops/s $\color{#d91a1a}-0.05\%$
test_serialize_weights 0.1380s 0.1347s 7.4239 Ops/s 7.4739 Ops/s $\color{#d91a1a}-0.67\%$
test_serialize_weights_returnearly 0.5103s 88.1472ms 11.3447 Ops/s 10.7543 Ops/s $\textbf{\color{#35bf28}+5.49\%}$
test_serialize_weights_pickle 1.3589s 1.2113s 0.8256 Ops/s 0.8206 Ops/s $\color{#35bf28}+0.60\%$
test_reshape_pytree 0.2129ms 33.1052μs 30.2068 KOps/s 30.8064 KOps/s $\color{#d91a1a}-1.95\%$
test_reshape_td 77.1420μs 47.0297μs 21.2632 KOps/s 22.2049 KOps/s $\color{#d91a1a}-4.24\%$
test_view_pytree 0.2267ms 33.0047μs 30.2987 KOps/s 30.9917 KOps/s $\color{#d91a1a}-2.24\%$
test_view_td 94.4720μs 56.1236μs 17.8178 KOps/s 17.9500 KOps/s $\color{#d91a1a}-0.74\%$
test_unbind_pytree 0.2411ms 37.6274μs 26.5764 KOps/s 27.1213 KOps/s $\color{#d91a1a}-2.01\%$
test_unbind_td 0.1212ms 52.8209μs 18.9319 KOps/s 19.8392 KOps/s $\color{#d91a1a}-4.57\%$
test_split_pytree 0.2616ms 45.6130μs 21.9236 KOps/s 22.9556 KOps/s $\color{#d91a1a}-4.50\%$
test_split_td 0.1285ms 71.0638μs 14.0719 KOps/s 14.6119 KOps/s $\color{#d91a1a}-3.70\%$
test_add_pytree 0.2440ms 42.9258μs 23.2960 KOps/s 23.5625 KOps/s $\color{#d91a1a}-1.13\%$
test_add_td 99.5330μs 57.6934μs 17.3330 KOps/s 17.9533 KOps/s $\color{#d91a1a}-3.45\%$
test_compile_add_one_nested[tensordict-compile] 0.7889ms 0.2310ms 4.3284 KOps/s 4.3335 KOps/s $\color{#d91a1a}-0.12\%$
test_compile_add_one_nested[tensordict-eager] 0.3091ms 0.2007ms 4.9831 KOps/s 5.0513 KOps/s $\color{#d91a1a}-1.35\%$
test_compile_add_one_nested[pytree-compile] 0.5802ms 0.1369ms 7.3033 KOps/s 7.2703 KOps/s $\color{#35bf28}+0.45\%$
test_compile_add_one_nested[pytree-eager] 0.6205ms 0.1829ms 5.4672 KOps/s 5.6386 KOps/s $\color{#d91a1a}-3.04\%$
test_compile_copy_nested[tensordict-compile] 67.1110μs 15.3758μs 65.0371 KOps/s 66.2216 KOps/s $\color{#d91a1a}-1.79\%$
test_compile_copy_nested[tensordict-eager] 0.5012ms 52.8332μs 18.9275 KOps/s 18.4484 KOps/s $\color{#35bf28}+2.60\%$
test_compile_copy_nested[pytree-compile] 0.5472ms 15.7302μs 63.5722 KOps/s 63.1821 KOps/s $\color{#35bf28}+0.62\%$
test_compile_copy_nested[pytree-eager] 0.4979ms 68.1210μs 14.6798 KOps/s 14.8097 KOps/s $\color{#d91a1a}-0.88\%$
test_compile_add_one_flat[tensordict-compile] 0.4908ms 0.2529ms 3.9541 KOps/s 3.7839 KOps/s $\color{#35bf28}+4.50\%$
test_compile_add_one_flat[tensordict-eager] 0.7224ms 0.2848ms 3.5107 KOps/s 3.5280 KOps/s $\color{#d91a1a}-0.49\%$
test_compile_add_one_flat[tensorclass-compile] 0.6315ms 0.1883ms 5.3111 KOps/s 5.0810 KOps/s $\color{#35bf28}+4.53\%$
test_compile_add_one_flat[tensorclass-eager] 0.5041ms 75.1955μs 13.2987 KOps/s 13.4098 KOps/s $\color{#d91a1a}-0.83\%$
test_compile_add_one_flat[pytree-compile] 0.3322ms 0.1935ms 5.1692 KOps/s 4.8286 KOps/s $\textbf{\color{#35bf28}+7.05\%}$
test_compile_add_one_flat[pytree-eager] 0.9849ms 0.5459ms 1.8318 KOps/s 1.9363 KOps/s $\textbf{\color{#d91a1a}-5.39\%}$
test_compile_add_self_flat[tensordict-eager] 0.7658ms 0.3346ms 2.9891 KOps/s 2.9403 KOps/s $\color{#35bf28}+1.66\%$
test_compile_add_self_flat[tensordict-compile] 0.3345ms 0.2529ms 3.9535 KOps/s 3.7118 KOps/s $\textbf{\color{#35bf28}+6.51\%}$
test_compile_add_self_flat[tensorclass-eager] 0.5267ms 91.0893μs 10.9782 KOps/s 10.8248 KOps/s $\color{#35bf28}+1.42\%$
test_compile_add_self_flat[tensorclass-compile] 0.2517ms 0.1904ms 5.2522 KOps/s 5.0104 KOps/s $\color{#35bf28}+4.82\%$
test_compile_add_self_flat[pytree-eager] 0.8904ms 0.4472ms 2.2362 KOps/s 2.3337 KOps/s $\color{#d91a1a}-4.18\%$
test_compile_add_self_flat[pytree-compile] 0.6625ms 0.1949ms 5.1319 KOps/s 4.9836 KOps/s $\color{#35bf28}+2.98\%$
test_compile_copy_flat[tensordict-compile] 56.3620μs 19.0733μs 52.4293 KOps/s 50.8735 KOps/s $\color{#35bf28}+3.06\%$
test_compile_copy_flat[tensordict-eager] 0.4749ms 41.4041μs 24.1522 KOps/s 24.2688 KOps/s $\color{#d91a1a}-0.48\%$
test_compile_copy_flat[pytree-compile] 0.5962ms 21.6277μs 46.2371 KOps/s 45.3852 KOps/s $\color{#35bf28}+1.88\%$
test_compile_copy_flat[pytree-eager] 0.4869ms 52.0877μs 19.1984 KOps/s 19.1983 KOps/s $+0.00\%$
test_compile_assign_and_add[tensordict-compile] 2.2290ms 0.2415ms 4.1405 KOps/s 3.8377 KOps/s $\textbf{\color{#35bf28}+7.89\%}$
test_compile_assign_and_add[tensordict-eager] 3.8073ms 3.3546ms 298.0946 Ops/s 294.8355 Ops/s $\color{#35bf28}+1.11\%$
test_compile_assign_and_add[pytree-compile] 2.1128ms 0.1845ms 5.4193 KOps/s 5.3244 KOps/s $\color{#35bf28}+1.78\%$
test_compile_assign_and_add[pytree-eager] 3.0587ms 2.8682ms 348.6564 Ops/s 361.5445 Ops/s $\color{#d91a1a}-3.56\%$
test_compile_indexing[tensor-tensordict-compile] 0.2625ms 0.1347ms 7.4229 KOps/s 7.1116 KOps/s $\color{#35bf28}+4.38\%$
test_compile_indexing[tensor-tensordict-eager] 0.4005ms 75.0699μs 13.3209 KOps/s 13.5527 KOps/s $\color{#d91a1a}-1.71\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2872ms 0.1197ms 8.3513 KOps/s 8.1707 KOps/s $\color{#35bf28}+2.21\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2807ms 44.5583μs 22.4425 KOps/s 22.8820 KOps/s $\color{#d91a1a}-1.92\%$
test_compile_indexing[tensor-pytree-compile] 0.1732ms 0.1205ms 8.2968 KOps/s 8.0306 KOps/s $\color{#35bf28}+3.31\%$
test_compile_indexing[tensor-pytree-eager] 0.3121ms 44.8599μs 22.2916 KOps/s 22.8551 KOps/s $\color{#d91a1a}-2.47\%$
test_compile_indexing[slice-tensordict-compile] 0.2797ms 83.6582μs 11.9534 KOps/s 11.4990 KOps/s $\color{#35bf28}+3.95\%$
test_compile_indexing[slice-tensordict-eager] 0.2118ms 27.7379μs 36.0518 KOps/s 36.1195 KOps/s $\color{#d91a1a}-0.19\%$
test_compile_indexing[slice-tensorclass-compile] 0.1998ms 71.0537μs 14.0739 KOps/s 13.9894 KOps/s $\color{#35bf28}+0.60\%$
test_compile_indexing[slice-tensorclass-eager] 0.2451ms 22.6022μs 44.2435 KOps/s 45.2568 KOps/s $\color{#d91a1a}-2.24\%$
test_compile_indexing[slice-pytree-compile] 0.1184ms 71.9012μs 13.9080 KOps/s 13.7118 KOps/s $\color{#35bf28}+1.43\%$
test_compile_indexing[slice-pytree-eager] 0.2460ms 22.3906μs 44.6616 KOps/s 45.2388 KOps/s $\color{#d91a1a}-1.28\%$
test_compile_indexing[int-tensordict-compile] 0.1363ms 84.5751μs 11.8238 KOps/s 11.6397 KOps/s $\color{#35bf28}+1.58\%$
test_compile_indexing[int-tensordict-eager] 0.2820ms 27.2922μs 36.6405 KOps/s 34.7706 KOps/s $\textbf{\color{#35bf28}+5.38\%}$
test_compile_indexing[int-tensorclass-compile] 0.1237ms 71.4168μs 14.0023 KOps/s 13.2013 KOps/s $\textbf{\color{#35bf28}+6.07\%}$
test_compile_indexing[int-tensorclass-eager] 0.2446ms 22.3636μs 44.7156 KOps/s 45.2426 KOps/s $\color{#d91a1a}-1.16\%$
test_compile_indexing[int-pytree-compile] 0.1186ms 72.7886μs 13.7384 KOps/s 13.9858 KOps/s $\color{#d91a1a}-1.77\%$
test_compile_indexing[int-pytree-eager] 0.2976ms 23.4469μs 42.6496 KOps/s 45.1155 KOps/s $\textbf{\color{#d91a1a}-5.47\%}$
test_compile_replace[single-eager] 97.8520μs 49.9240μs 20.0304 KOps/s 20.6412 KOps/s $\color{#d91a1a}-2.96\%$
test_compile_replace[single-compile] 0.2991ms 0.1329ms 7.5233 KOps/s 7.5219 KOps/s $\color{#35bf28}+0.02\%$
test_compile_replace[multi-eager] 0.7021ms 0.5700ms 1.7544 KOps/s 1.7924 KOps/s $\color{#d91a1a}-2.12\%$
test_compile_replace[multi-compile] 0.5839ms 0.1389ms 7.2009 KOps/s 6.8345 KOps/s $\textbf{\color{#35bf28}+5.36\%}$
test_compile_tc_getattr_20[eager] 0.6041ms 0.1774ms 5.6362 KOps/s 6.0558 KOps/s $\textbf{\color{#d91a1a}-6.93\%}$
test_compile_tc_getattr_20[compile] 0.5948ms 0.1488ms 6.7200 KOps/s 6.5549 KOps/s $\color{#35bf28}+2.52\%$
test_compile_clone_shallow[20-eager] 0.4392ms 19.2132μs 52.0476 KOps/s 51.9587 KOps/s $\color{#35bf28}+0.17\%$
test_compile_clone_shallow[20-compile] 84.1420μs 16.5974μs 60.2505 KOps/s 59.3279 KOps/s $\color{#35bf28}+1.56\%$
test_compile_clone_shallow[40-eager] 0.4660ms 33.1137μs 30.1990 KOps/s 29.5430 KOps/s $\color{#35bf28}+2.22\%$
test_compile_clone_shallow[40-compile] 0.4595ms 18.4099μs 54.3186 KOps/s 52.6962 KOps/s $\color{#35bf28}+3.08\%$
test_compile_clone_shallow[80-eager] 0.4864ms 61.3358μs 16.3037 KOps/s 15.9672 KOps/s $\color{#35bf28}+2.11\%$
test_compile_clone_shallow[80-compile] 0.4590ms 21.8324μs 45.8035 KOps/s 43.8060 KOps/s $\color{#35bf28}+4.56\%$
test_compile_update_inplace[eager] 97.2520μs 62.0153μs 16.1250 KOps/s 15.8749 KOps/s $\color{#35bf28}+1.58\%$
test_compile_update_inplace[compile] 0.5799ms 0.1471ms 6.7969 KOps/s 6.6598 KOps/s $\color{#35bf28}+2.06\%$
test_mod_add[eager] 0.6644ms 0.2272ms 4.4006 KOps/s 4.4254 KOps/s $\color{#d91a1a}-0.56\%$
test_mod_add[compile] 0.6080ms 0.1331ms 7.5151 KOps/s 7.3761 KOps/s $\color{#35bf28}+1.88\%$
test_mod_add[compile-overhead] 0.3303ms 0.1786ms 5.5980 KOps/s 5.5135 KOps/s $\color{#35bf28}+1.53\%$
test_mod_wrap[eager] 0.9104ms 0.4732ms 2.1131 KOps/s 2.1354 KOps/s $\color{#d91a1a}-1.04\%$
test_mod_wrap[compile] 0.5431ms 0.4062ms 2.4620 KOps/s 2.4961 KOps/s $\color{#d91a1a}-1.37\%$
test_mod_wrap[compile-overhead] 8.1930ms 4.5664ms 218.9917 Ops/s 217.5443 Ops/s $\color{#35bf28}+0.67\%$
test_mod_wrap_and_backward[eager] 1.9568ms 1.8016ms 555.0744 Ops/s 591.2755 Ops/s $\textbf{\color{#d91a1a}-6.12\%}$
test_mod_wrap_and_backward[compile] 1.7603ms 1.6328ms 612.4557 Ops/s 645.9540 Ops/s $\textbf{\color{#d91a1a}-5.19\%}$
test_mod_wrap_and_backward[compile-overhead] 1.3405ms 0.9493ms 1.0534 KOps/s 1.0373 KOps/s $\color{#35bf28}+1.56\%$
test_seq_add[eager] 0.6680ms 0.5243ms 1.9073 KOps/s 1.9614 KOps/s $\color{#d91a1a}-2.76\%$
test_seq_add[compile] 0.2310ms 0.1510ms 6.6239 KOps/s 6.8359 KOps/s $\color{#d91a1a}-3.10\%$
test_seq_add[compile-overhead] 0.3324ms 0.1936ms 5.1655 KOps/s 5.2696 KOps/s $\color{#d91a1a}-1.98\%$
test_seq_wrap[eager] 1.5383ms 1.4453ms 691.9106 Ops/s 707.8550 Ops/s $\color{#d91a1a}-2.25\%$
test_seq_wrap[compile] 0.4987ms 0.4358ms 2.2946 KOps/s 2.3682 KOps/s $\color{#d91a1a}-3.11\%$
test_seq_wrap[compile-overhead] 0.4296ms 0.3147ms 3.1781 KOps/s 3.1881 KOps/s $\color{#d91a1a}-0.31\%$
test_func_call_runtime[False-eager] 0.9313ms 0.8161ms 1.2253 KOps/s 1.2435 KOps/s $\color{#d91a1a}-1.46\%$
test_func_call_runtime[False-compile] 1.1369ms 1.0042ms 995.8575 Ops/s 1.0064 KOps/s $\color{#d91a1a}-1.05\%$
test_func_call_runtime[False-compile-overhead] 0.6123ms 0.5105ms 1.9590 KOps/s 1.9351 KOps/s $\color{#35bf28}+1.23\%$
test_func_call_runtime[True-eager] 1.1950ms 1.0809ms 925.1926 Ops/s 932.8416 Ops/s $\color{#d91a1a}-0.82\%$
test_func_call_runtime[True-compile] 1.1347ms 1.0089ms 991.1649 Ops/s 998.8410 Ops/s $\color{#d91a1a}-0.77\%$
test_func_call_runtime[True-compile-overhead] 0.5726ms 0.5236ms 1.9099 KOps/s 1.8829 KOps/s $\color{#35bf28}+1.43\%$
test_func_call_cm_runtime[False-eager] 0.8730ms 0.8141ms 1.2283 KOps/s 1.2443 KOps/s $\color{#d91a1a}-1.28\%$
test_func_call_cm_runtime[False-compile] 1.0532ms 0.9836ms 1.0167 KOps/s 1.0263 KOps/s $\color{#d91a1a}-0.93\%$
test_func_call_cm_runtime[False-compile-overhead] 0.7047ms 0.4920ms 2.0326 KOps/s 2.0230 KOps/s $\color{#35bf28}+0.47\%$
test_func_call_cm_runtime[True-eager] 1.3254ms 1.2341ms 810.3186 Ops/s 826.5657 Ops/s $\color{#d91a1a}-1.97\%$
test_func_call_cm_runtime[True-compile] 1.1806ms 1.0575ms 945.6422 Ops/s 933.4819 Ops/s $\color{#35bf28}+1.30\%$
test_func_call_cm_runtime[True-compile-overhead] 0.6218ms 0.5472ms 1.8275 KOps/s 1.7988 KOps/s $\color{#35bf28}+1.60\%$
test_vmap_func_call_cm_runtime[eager] 2.9667ms 2.4680ms 405.1918 Ops/s 412.1451 Ops/s $\color{#d91a1a}-1.69\%$
test_vmap_func_call_cm_runtime[compile] 3.2099ms 2.6320ms 379.9354 Ops/s 383.4144 Ops/s $\color{#d91a1a}-0.91\%$
test_vmap_func_call_cm_runtime[compile-overhead] 3.3766ms 2.6298ms 380.2580 Ops/s 383.1265 Ops/s $\color{#d91a1a}-0.75\%$
test_distributed 1.4931ms 0.1517ms 6.5903 KOps/s 5.9936 KOps/s $\textbf{\color{#35bf28}+9.95\%}$
test_tdmodule 0.5674ms 0.1935ms 5.1684 KOps/s 5.1750 KOps/s $\color{#d91a1a}-0.13\%$
test_tdmodule_dispatch 0.4114ms 0.3737ms 2.6758 KOps/s 2.6702 KOps/s $\color{#35bf28}+0.21\%$
test_tdseq 48.1220μs 27.4537μs 36.4250 KOps/s 36.8353 KOps/s $\color{#d91a1a}-1.11\%$
test_tdseq_dispatch 0.2568ms 0.2166ms 4.6175 KOps/s 4.5432 KOps/s $\color{#35bf28}+1.64\%$
test_instantiation_functorch 2.1830ms 2.0637ms 484.5659 Ops/s 489.1913 Ops/s $\color{#d91a1a}-0.95\%$
test_exec_functorch 0.2327ms 0.1844ms 5.4244 KOps/s 5.5362 KOps/s $\color{#d91a1a}-2.02\%$
test_exec_functional_call 0.2307ms 0.1649ms 6.0645 KOps/s 6.2138 KOps/s $\color{#d91a1a}-2.40\%$
test_exec_td_decorator 0.5002ms 0.2519ms 3.9705 KOps/s 3.9558 KOps/s $\color{#35bf28}+0.37\%$
test_vmap_mlp_speed_decorator[True-True] 1.2526ms 1.0483ms 953.8841 Ops/s 960.1740 Ops/s $\color{#d91a1a}-0.66\%$
test_vmap_mlp_speed_decorator[True-False] 1.2430ms 1.0457ms 956.2709 Ops/s 960.9466 Ops/s $\color{#d91a1a}-0.49\%$
test_vmap_mlp_speed_decorator[False-True] 0.9767ms 0.7482ms 1.3366 KOps/s 1.3522 KOps/s $\color{#d91a1a}-1.15\%$
test_vmap_mlp_speed_decorator[False-False] 0.9558ms 0.7456ms 1.3411 KOps/s 1.3532 KOps/s $\color{#d91a1a}-0.89\%$
test_vmap_transformer_speed_decorator[True-True] 21.4069ms 21.2652ms 47.0251 Ops/s 47.5454 Ops/s $\color{#d91a1a}-1.09\%$
test_vmap_transformer_speed_decorator[True-False] 21.4710ms 21.2558ms 47.0460 Ops/s 47.3869 Ops/s $\color{#d91a1a}-0.72\%$
test_vmap_transformer_speed_decorator[False-True] 21.5853ms 20.8638ms 47.9299 Ops/s 48.3957 Ops/s $\color{#d91a1a}-0.96\%$
test_vmap_transformer_speed_decorator[False-False] 21.7409ms 20.8831ms 47.8856 Ops/s 48.3848 Ops/s $\color{#d91a1a}-1.03\%$
test_to_module_speed[True] 2.2781ms 1.6362ms 611.1564 Ops/s 602.6999 Ops/s $\color{#35bf28}+1.40\%$
test_to_module_speed[False] 2.1698ms 1.6192ms 617.5961 Ops/s 610.9503 Ops/s $\color{#35bf28}+1.09\%$
test_to_module_plain_tensor_speed[None] 2.3020ms 1.7314ms 577.5611 Ops/s 569.9289 Ops/s $\color{#35bf28}+1.34\%$
test_to_module_plain_tensor_speed[False] 1.7610ms 1.5635ms 639.5806 Ops/s 628.4926 Ops/s $\color{#35bf28}+1.76\%$
test_to_module_plain_tensor_speed[True] 3.5035ms 3.3983ms 294.2664 Ops/s 296.4766 Ops/s $\color{#d91a1a}-0.75\%$
test_tc_init 85.8320μs 43.0080μs 23.2515 KOps/s 22.9565 KOps/s $\color{#35bf28}+1.29\%$
test_tc_init_tensor_only 48.8610μs 9.4192μs 106.1659 KOps/s 111.5014 KOps/s $\color{#d91a1a}-4.79\%$
test_tc_init_nested 0.2002ms 86.4108μs 11.5726 KOps/s 11.7818 KOps/s $\color{#d91a1a}-1.78\%$
test_tc_init_many_fields 78.5420μs 15.1050μs 66.2033 KOps/s 66.7839 KOps/s $\color{#d91a1a}-0.87\%$
test_tc_first_layer_tensor 26.5010μs 1.7700μs 564.9565 KOps/s 554.2932 KOps/s $\color{#35bf28}+1.92\%$
test_tc_first_layer_tensor_only 6.3286μs 0.3957μs 2.5269 MOps/s 2.4152 MOps/s $\color{#35bf28}+4.62\%$
test_tc_first_layer_tensor_set 24.0900μs 3.8865μs 257.3013 KOps/s 252.0060 KOps/s $\color{#35bf28}+2.10\%$
test_tc_first_layer_tensor_only_set 25.5110μs 3.2421μs 308.4381 KOps/s 307.8258 KOps/s $\color{#35bf28}+0.20\%$
test_tc_first_layer_nontensor 43.6010μs 6.1138μs 163.5639 KOps/s 162.8052 KOps/s $\color{#35bf28}+0.47\%$
test_tc_second_layer_tensor 26.7110μs 4.3590μs 229.4079 KOps/s 228.5341 KOps/s $\color{#35bf28}+0.38\%$
test_tc_second_layer_nontensor 34.9000μs 8.5587μs 116.8404 KOps/s 116.0914 KOps/s $\color{#35bf28}+0.65\%$
test_unbind 0.2714s 13.7586ms 72.6817 Ops/s 66.3807 Ops/s $\textbf{\color{#35bf28}+9.49\%}$
test_full_like 4.8138ms 4.3616ms 229.2729 Ops/s 230.6919 Ops/s $\color{#d91a1a}-0.62\%$
test_zeros_like 4.5124ms 4.3630ms 229.1992 Ops/s 228.7187 Ops/s $\color{#35bf28}+0.21\%$
test_ones_like 4.5767ms 4.3727ms 228.6919 Ops/s 228.5159 Ops/s $\color{#35bf28}+0.08\%$
test_clone 6.6390ms 6.4365ms 155.3630 Ops/s 155.4164 Ops/s $\color{#d91a1a}-0.03\%$
test_squeeze 74.7120μs 14.4255μs 69.3217 KOps/s 68.1048 KOps/s $\color{#35bf28}+1.79\%$
test_unsqueeze 0.1679ms 0.1156ms 8.6505 KOps/s 8.7934 KOps/s $\color{#d91a1a}-1.63\%$
test_split 0.3795ms 0.1835ms 5.4484 KOps/s 5.4837 KOps/s $\color{#d91a1a}-0.64\%$
test_permute 0.3018ms 0.1970ms 5.0769 KOps/s 5.2071 KOps/s $\color{#d91a1a}-2.50\%$
test_stack 35.2465ms 34.8779ms 28.6715 Ops/s 55.3473 Ops/s $\textbf{\color{#d91a1a}-48.20\%}$
test_cat 35.0832ms 34.8515ms 28.6932 Ops/s 55.6403 Ops/s $\textbf{\color{#d91a1a}-48.43\%}$
test_sequential_tensordict 0.9390ms 0.5698ms 1.7549 KOps/s 1.7320 KOps/s $\color{#35bf28}+1.32\%$
test_sequential_graph_module 0.3148ms 0.1226ms 8.1553 KOps/s 8.5007 KOps/s $\color{#d91a1a}-4.06\%$
test_nested_tensordict 0.9931ms 0.8174ms 1.2234 KOps/s 1.2110 KOps/s $\color{#35bf28}+1.03\%$
test_nested_graph_module 0.1877ms 0.1320ms 7.5737 KOps/s 7.8380 KOps/s $\color{#d91a1a}-3.37\%$

@vmoens
vmoens merged commit b350d82 into main Jun 30, 2026
72 of 73 checks passed
@vmoens
vmoens deleted the codex/unbatched-tensor-patch branch June 30, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. nn Test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant