Skip to content

[Compile] Always materialize _td_dim_names on TensorDict instance - #1713

Merged
vmoens merged 2 commits into
gh/vmoens/93/basefrom
gh/vmoens/93/head
May 24, 2026
Merged

[Compile] Always materialize _td_dim_names on TensorDict instance#1713
vmoens merged 2 commits into
gh/vmoens/93/basefrom
gh/vmoens/93/head

Conversation

@vmoens

@vmoens vmoens commented May 24, 2026

Copy link
Copy Markdown
Collaborator

Stack from ghstack (oldest at bottom):

A TensorDict built via the public TensorDict(...) constructor inside a
compiled region skipped _set_names (guarded on not is_compiling())
and so never wrote _td_dim_names to self.__dict__. A sibling TD
coming from _new_unsafe always did. When both kinds flowed through
the same compiled function, Dynamo specialized on
not ___dict_contains('_td_dim_names', __dict__) and recompiled.

Set self._td_dim_names = None unconditionally before the
_set_names branch in TensorDict.__init__ so the attribute is
always on the instance, matching _new_unsafe. No behavior change in
eager mode (_set_names overwrites it).

Adds a guard-count test asserting that a TD built inside a compiled
function and a TD built eagerly do not produce different recompiles when
fed into the same compiled function.

Authored with Claude.

Co-authored-by: Cursor cursoragent@cursor.com

[ghstack-poisoned]
@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 May 24, 2026
@github-actions github-actions Bot added Compile torch.compile related Test labels May 24, 2026
@github-actions

github-actions Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

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

Total Benchmarks: 341. Improved: $\large\color{#35bf28}20$. Worsened: $\large\color{#d91a1a}6$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2077ms 0.1679ms 5.9563 KOps/s 5.7397 KOps/s $\color{#35bf28}+3.77\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3604ms 0.2951ms 3.3885 KOps/s 3.3519 KOps/s $\color{#35bf28}+1.09\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.9206ms 0.7786ms 1.2844 KOps/s 1.2720 KOps/s $\color{#35bf28}+0.98\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.3787ms 0.3396ms 2.9449 KOps/s 2.8798 KOps/s $\color{#35bf28}+2.26\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.3722ms 1.1620ms 860.5902 Ops/s 891.7858 Ops/s $\color{#d91a1a}-3.50\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 8.2134ms 7.7576ms 128.9058 Ops/s 129.8068 Ops/s $\color{#d91a1a}-0.69\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.2908ms 0.2463ms 4.0594 KOps/s 4.0417 KOps/s $\color{#35bf28}+0.44\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.4809ms 0.3735ms 2.6774 KOps/s 2.7087 KOps/s $\color{#d91a1a}-1.16\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9183ms 0.8218ms 1.2168 KOps/s 1.2198 KOps/s $\color{#d91a1a}-0.25\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3347ms 0.2570ms 3.8914 KOps/s 4.0444 KOps/s $\color{#d91a1a}-3.78\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.5349ms 0.3709ms 2.6961 KOps/s 2.6972 KOps/s $\color{#d91a1a}-0.04\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 1.2165ms 0.8848ms 1.1302 KOps/s 1.1313 KOps/s $\color{#d91a1a}-0.10\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2733ms 0.2154ms 4.6434 KOps/s 4.5711 KOps/s $\color{#35bf28}+1.58\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.9051ms 0.8244ms 1.2131 KOps/s 1.1787 KOps/s $\color{#35bf28}+2.92\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.5841ms 3.2935ms 303.6276 Ops/s 297.5269 Ops/s $\color{#35bf28}+2.05\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.5103ms 0.3644ms 2.7442 KOps/s 2.5575 KOps/s $\textbf{\color{#35bf28}+7.30\%}$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 2.0614ms 1.8425ms 542.7498 Ops/s 588.0466 Ops/s $\textbf{\color{#d91a1a}-7.70\%}$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 11.0747ms 10.6812ms 93.6223 Ops/s 93.8016 Ops/s $\color{#d91a1a}-0.19\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4874ms 0.3872ms 2.5829 KOps/s 2.5469 KOps/s $\color{#35bf28}+1.41\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.5922ms 1.4290ms 699.7803 Ops/s 680.9844 Ops/s $\color{#35bf28}+2.76\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 5.9093ms 5.5793ms 179.2355 Ops/s 175.0124 Ops/s $\color{#35bf28}+2.41\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4588ms 0.3824ms 2.6153 KOps/s 2.5480 KOps/s $\color{#35bf28}+2.64\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5113ms 1.4339ms 697.3957 Ops/s 683.8193 Ops/s $\color{#35bf28}+1.99\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 6.0438ms 5.6343ms 177.4856 Ops/s 173.3696 Ops/s $\color{#35bf28}+2.37\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2362ms 0.1709ms 5.8505 KOps/s 5.7016 KOps/s $\color{#35bf28}+2.61\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7729ms 0.6685ms 1.4960 KOps/s 1.4679 KOps/s $\color{#35bf28}+1.91\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7502ms 2.6414ms 378.5817 Ops/s 370.5584 Ops/s $\color{#35bf28}+2.17\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.3952ms 0.3126ms 3.1987 KOps/s 3.1070 KOps/s $\color{#35bf28}+2.95\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 2.7147ms 1.6636ms 601.1081 Ops/s 664.6776 Ops/s $\textbf{\color{#d91a1a}-9.56\%}$
test_collector_preallocated_write[copy_at-cpu-4096-32] 10.4321ms 9.9947ms 100.0530 Ops/s 100.7634 Ops/s $\color{#d91a1a}-0.71\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.4163ms 0.3186ms 3.1383 KOps/s 3.0808 KOps/s $\color{#35bf28}+1.86\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.2774ms 1.1836ms 844.8955 Ops/s 829.3530 Ops/s $\color{#35bf28}+1.87\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.8009ms 4.6107ms 216.8853 Ops/s 211.5963 Ops/s $\color{#35bf28}+2.50\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.3702ms 0.3190ms 3.1348 KOps/s 3.0774 KOps/s $\color{#35bf28}+1.87\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.3380ms 1.1855ms 843.5448 Ops/s 824.7497 Ops/s $\color{#35bf28}+2.28\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.7709ms 4.6267ms 216.1365 Ops/s 210.7508 Ops/s $\color{#35bf28}+2.56\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1843ms 0.1208ms 8.2813 KOps/s 8.2301 KOps/s $\color{#35bf28}+0.62\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5461ms 0.4740ms 2.1095 KOps/s 2.1049 KOps/s $\color{#35bf28}+0.22\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.9350ms 1.9030ms 525.4774 Ops/s 530.2061 Ops/s $\color{#d91a1a}-0.89\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3648ms 0.2484ms 4.0252 KOps/s 3.8315 KOps/s $\textbf{\color{#35bf28}+5.06\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.4189ms 1.2630ms 791.7806 Ops/s 813.6959 Ops/s $\color{#d91a1a}-2.69\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 9.4364ms 9.0237ms 110.8192 Ops/s 111.2982 Ops/s $\color{#d91a1a}-0.43\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3476ms 0.2705ms 3.6974 KOps/s 3.6699 KOps/s $\color{#35bf28}+0.75\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.1613ms 1.0032ms 996.8521 Ops/s 990.8768 Ops/s $\color{#35bf28}+0.60\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.0434ms 3.9316ms 254.3494 Ops/s 254.2384 Ops/s $\color{#35bf28}+0.04\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3468ms 0.2693ms 3.7128 KOps/s 3.6677 KOps/s $\color{#35bf28}+1.23\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.1024ms 1.0057ms 994.2935 Ops/s 989.9459 Ops/s $\color{#35bf28}+0.44\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.3199ms 3.9449ms 253.4899 Ops/s 254.0432 Ops/s $\color{#d91a1a}-0.22\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 16.6236ms 16.4078ms 60.9466 Ops/s 61.0710 Ops/s $\color{#d91a1a}-0.20\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.5831ms 33.3185ms 30.0133 Ops/s 30.3118 Ops/s $\color{#d91a1a}-0.98\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 92.1094ms 91.4485ms 10.9351 Ops/s 11.1386 Ops/s $\color{#d91a1a}-1.83\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.2134s 0.2119s 4.7193 Ops/s 4.8038 Ops/s $\color{#d91a1a}-1.76\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 13.9969ms 13.8012ms 72.4574 Ops/s 72.1966 Ops/s $\color{#35bf28}+0.36\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.4004ms 27.2322ms 36.7213 Ops/s 37.2450 Ops/s $\color{#d91a1a}-1.41\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.1051ms 13.9738ms 71.5626 Ops/s 71.7795 Ops/s $\color{#d91a1a}-0.30\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 28.0019ms 27.4254ms 36.4626 Ops/s 36.4238 Ops/s $\color{#35bf28}+0.11\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 52.2437ms 51.9779ms 19.2390 Ops/s 18.9347 Ops/s $\color{#35bf28}+1.61\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1047s 0.1044s 9.5771 Ops/s 9.3648 Ops/s $\color{#35bf28}+2.27\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1548s 0.1533s 6.5222 Ops/s 6.6831 Ops/s $\color{#d91a1a}-2.41\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3433s 0.3415s 2.9284 Ops/s 2.7657 Ops/s $\textbf{\color{#35bf28}+5.88\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 74.9928ms 73.9341ms 13.5256 Ops/s 12.8857 Ops/s $\color{#35bf28}+4.97\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1540s 0.1508s 6.6314 Ops/s 6.3803 Ops/s $\color{#35bf28}+3.94\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 79.1515ms 76.2420ms 13.1161 Ops/s 12.9712 Ops/s $\color{#35bf28}+1.12\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1511s 0.1500s 6.6673 Ops/s 6.3650 Ops/s $\color{#35bf28}+4.75\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.8907ms 30.4677ms 32.8216 Ops/s 32.6414 Ops/s $\color{#35bf28}+0.55\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.8306ms 61.3934ms 16.2884 Ops/s 16.2321 Ops/s $\color{#35bf28}+0.35\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1268s 0.1250s 7.9984 Ops/s 7.5303 Ops/s $\textbf{\color{#35bf28}+6.22\%}$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2851s 0.2842s 3.5192 Ops/s 3.4374 Ops/s $\color{#35bf28}+2.38\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 42.9544ms 42.4174ms 23.5752 Ops/s 23.3243 Ops/s $\color{#35bf28}+1.08\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 85.3700ms 84.9256ms 11.7750 Ops/s 11.5976 Ops/s $\color{#35bf28}+1.53\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 43.0408ms 42.5856ms 23.4821 Ops/s 23.2472 Ops/s $\color{#35bf28}+1.01\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 85.7150ms 85.2884ms 11.7249 Ops/s 11.6090 Ops/s $\color{#35bf28}+1.00\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.7834ms 20.5307ms 48.7074 Ops/s 48.8276 Ops/s $\color{#d91a1a}-0.25\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 42.5710ms 42.1416ms 23.7295 Ops/s 23.8121 Ops/s $\color{#d91a1a}-0.35\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1175s 0.1153s 8.6734 Ops/s 8.3699 Ops/s $\color{#35bf28}+3.63\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2637s 0.2600s 3.8456 Ops/s 3.6955 Ops/s $\color{#35bf28}+4.06\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 36.2836ms 35.8371ms 27.9041 Ops/s 25.4934 Ops/s $\textbf{\color{#35bf28}+9.46\%}$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 71.8026ms 71.2313ms 14.0388 Ops/s 13.7797 Ops/s $\color{#35bf28}+1.88\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 36.3429ms 35.5771ms 28.1079 Ops/s 27.4232 Ops/s $\color{#35bf28}+2.50\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 71.6438ms 70.9932ms 14.0859 Ops/s 13.7936 Ops/s $\color{#35bf28}+2.12\%$
test_plain_set_nested 47.1300μs 15.5809μs 64.1813 KOps/s 64.3997 KOps/s $\color{#d91a1a}-0.34\%$
test_plain_set_stack_nested 35.9110μs 15.2664μs 65.5032 KOps/s 65.4961 KOps/s $\color{#35bf28}+0.01\%$
test_plain_set_nested_inplace 49.1710μs 16.8379μs 59.3897 KOps/s 58.4302 KOps/s $\color{#35bf28}+1.64\%$
test_plain_set_stack_nested_inplace 42.5310μs 16.5441μs 60.4447 KOps/s 59.3846 KOps/s $\color{#35bf28}+1.79\%$
test_items 27.4300μs 5.9807μs 167.2058 KOps/s 165.2568 KOps/s $\color{#35bf28}+1.18\%$
test_items_nested 0.5102ms 0.4589ms 2.1791 KOps/s 2.1029 KOps/s $\color{#35bf28}+3.62\%$
test_items_nested_locked 0.5691ms 0.4706ms 2.1248 KOps/s 2.1001 KOps/s $\color{#35bf28}+1.18\%$
test_items_nested_leaf 0.1500ms 95.3835μs 10.4840 KOps/s 10.4767 KOps/s $\color{#35bf28}+0.07\%$
test_items_stack_nested 0.5301ms 0.4645ms 2.1528 KOps/s 2.1156 KOps/s $\color{#35bf28}+1.76\%$
test_items_stack_nested_leaf 0.1448ms 96.1085μs 10.4049 KOps/s 10.2307 KOps/s $\color{#35bf28}+1.70\%$
test_items_stack_nested_locked 0.5532ms 0.4682ms 2.1359 KOps/s 2.0691 KOps/s $\color{#35bf28}+3.22\%$
test_keys 29.9400μs 4.2236μs 236.7632 KOps/s 227.8493 KOps/s $\color{#35bf28}+3.91\%$
test_keys_nested 0.1908ms 0.1305ms 7.6604 KOps/s 7.5266 KOps/s $\color{#35bf28}+1.78\%$
test_keys_nested_locked 1.9073ms 0.1386ms 7.2169 KOps/s 7.1037 KOps/s $\color{#35bf28}+1.59\%$
test_keys_nested_leaf 0.1662ms 0.1206ms 8.2931 KOps/s 8.1242 KOps/s $\color{#35bf28}+2.08\%$
test_keys_stack_nested 0.1778ms 0.1296ms 7.7138 KOps/s 7.5318 KOps/s $\color{#35bf28}+2.42\%$
test_keys_stack_nested_leaf 0.1621ms 0.1195ms 8.3660 KOps/s 8.2201 KOps/s $\color{#35bf28}+1.78\%$
test_keys_stack_nested_locked 0.1868ms 0.1369ms 7.3048 KOps/s 7.0838 KOps/s $\color{#35bf28}+3.12\%$
test_values 6.7002μs 1.0136μs 986.6280 KOps/s 984.6275 KOps/s $\color{#35bf28}+0.20\%$
test_values_nested 79.3010μs 53.3066μs 18.7594 KOps/s 18.5054 KOps/s $\color{#35bf28}+1.37\%$
test_values_nested_locked 91.2420μs 56.0266μs 17.8487 KOps/s 17.5416 KOps/s $\color{#35bf28}+1.75\%$
test_values_nested_leaf 85.2520μs 60.7917μs 16.4496 KOps/s 16.1865 KOps/s $\color{#35bf28}+1.63\%$
test_values_stack_nested 84.1320μs 53.1096μs 18.8290 KOps/s 18.4286 KOps/s $\color{#35bf28}+2.17\%$
test_values_stack_nested_leaf 92.4010μs 59.8898μs 16.6973 KOps/s 16.2291 KOps/s $\color{#35bf28}+2.89\%$
test_values_stack_nested_locked 83.7020μs 55.8623μs 17.9012 KOps/s 17.4692 KOps/s $\color{#35bf28}+2.47\%$
test_membership 4.6302μs 0.8425μs 1.1870 MOps/s 1.1852 MOps/s $\color{#35bf28}+0.15\%$
test_membership_nested 71.3910μs 2.9778μs 335.8191 KOps/s 331.3062 KOps/s $\color{#35bf28}+1.36\%$
test_membership_nested_leaf 38.6500μs 2.9646μs 337.3191 KOps/s 331.6823 KOps/s $\color{#35bf28}+1.70\%$
test_membership_stacked_nested 36.6710μs 2.8763μs 347.6630 KOps/s 342.1465 KOps/s $\color{#35bf28}+1.61\%$
test_membership_stacked_nested_leaf 31.9910μs 2.8976μs 345.1153 KOps/s 341.3253 KOps/s $\color{#35bf28}+1.11\%$
test_membership_nested_last 33.7100μs 4.5050μs 221.9751 KOps/s 222.7353 KOps/s $\color{#d91a1a}-0.34\%$
test_membership_nested_leaf_last 61.5010μs 4.4386μs 225.2983 KOps/s 223.6697 KOps/s $\color{#35bf28}+0.73\%$
test_membership_stacked_nested_last 39.9310μs 4.3703μs 228.8171 KOps/s 226.9539 KOps/s $\color{#35bf28}+0.82\%$
test_membership_stacked_nested_leaf_last 30.4000μs 4.3547μs 229.6353 KOps/s 228.8688 KOps/s $\color{#35bf28}+0.33\%$
test_nested_getleaf 46.8610μs 22.1540μs 45.1385 KOps/s 45.1596 KOps/s $\color{#d91a1a}-0.05\%$
test_nested_get 44.7010μs 21.0263μs 47.5596 KOps/s 48.3742 KOps/s $\color{#d91a1a}-1.68\%$
test_stacked_getleaf 44.8510μs 22.0549μs 45.3414 KOps/s 45.3178 KOps/s $\color{#35bf28}+0.05\%$
test_stacked_get 46.6310μs 21.0569μs 47.4903 KOps/s 47.8308 KOps/s $\color{#d91a1a}-0.71\%$
test_nested_getitemleaf 47.2200μs 22.4193μs 44.6044 KOps/s 44.6197 KOps/s $\color{#d91a1a}-0.03\%$
test_nested_getitem 47.2000μs 21.4842μs 46.5459 KOps/s 47.3385 KOps/s $\color{#d91a1a}-1.67\%$
test_stacked_getitemleaf 46.7210μs 22.3360μs 44.7709 KOps/s 44.8198 KOps/s $\color{#d91a1a}-0.11\%$
test_stacked_getitem 46.5710μs 21.3172μs 46.9104 KOps/s 46.7792 KOps/s $\color{#35bf28}+0.28\%$
test_lock_nested 0.5306ms 0.4736ms 2.1113 KOps/s 2.0766 KOps/s $\color{#35bf28}+1.67\%$
test_lock_stack_nested 0.5643ms 0.4808ms 2.0800 KOps/s 2.0771 KOps/s $\color{#35bf28}+0.14\%$
test_unlock_nested 0.4617ms 0.3865ms 2.5873 KOps/s 2.5946 KOps/s $\color{#d91a1a}-0.28\%$
test_unlock_stack_nested 0.4307ms 0.3898ms 2.5652 KOps/s 2.5689 KOps/s $\color{#d91a1a}-0.14\%$
test_flatten_speed 0.1601ms 0.1222ms 8.1834 KOps/s 8.1276 KOps/s $\color{#35bf28}+0.69\%$
test_unflatten_speed 0.6794ms 0.5723ms 1.7473 KOps/s 1.7404 KOps/s $\color{#35bf28}+0.39\%$
test_common_ops 0.1001s 1.6766ms 596.4383 Ops/s 593.9402 Ops/s $\color{#35bf28}+0.42\%$
test_creation 71.4510μs 3.1943μs 313.0582 KOps/s 321.8875 KOps/s $\color{#d91a1a}-2.74\%$
test_creation_empty 31.5810μs 7.0126μs 142.5998 KOps/s 145.0078 KOps/s $\color{#d91a1a}-1.66\%$
test_creation_nested_1 36.2610μs 11.4754μs 87.1427 KOps/s 86.2973 KOps/s $\color{#35bf28}+0.98\%$
test_creation_nested_2 40.9610μs 13.5984μs 73.5382 KOps/s 73.6385 KOps/s $\color{#d91a1a}-0.14\%$
test_creation_many_keys[10] 62.4810μs 21.2527μs 47.0529 KOps/s 47.5564 KOps/s $\color{#d91a1a}-1.06\%$
test_creation_many_keys[50] 0.1362ms 90.8763μs 11.0040 KOps/s 11.0275 KOps/s $\color{#d91a1a}-0.21\%$
test_creation_many_keys[100] 0.2576ms 0.1775ms 5.6327 KOps/s 5.6667 KOps/s $\color{#d91a1a}-0.60\%$
test_creation_nested_many_keys[10] 0.1073ms 45.5191μs 21.9688 KOps/s 22.0354 KOps/s $\color{#d91a1a}-0.30\%$
test_creation_nested_many_keys[50] 0.2574ms 0.1845ms 5.4202 KOps/s 5.4539 KOps/s $\color{#d91a1a}-0.62\%$
test_clone 42.1110μs 13.4909μs 74.1240 KOps/s 74.6950 KOps/s $\color{#d91a1a}-0.76\%$
test_getitem[int] 1.5282ms 15.1263μs 66.1101 KOps/s 65.7376 KOps/s $\color{#35bf28}+0.57\%$
test_getitem[slice_int] 0.1389ms 24.1853μs 41.3474 KOps/s 40.8496 KOps/s $\color{#35bf28}+1.22\%$
test_getitem[range] 0.1737ms 65.1366μs 15.3523 KOps/s 15.1164 KOps/s $\color{#35bf28}+1.56\%$
test_getitem[tuple] 0.1414ms 24.0788μs 41.5304 KOps/s 41.1332 KOps/s $\color{#35bf28}+0.97\%$
test_getitem[list] 0.1832ms 60.8580μs 16.4317 KOps/s 16.6662 KOps/s $\color{#d91a1a}-1.41\%$
test_setitem_dim[int] 46.4310μs 25.4031μs 39.3653 KOps/s 39.4820 KOps/s $\color{#d91a1a}-0.30\%$
test_setitem_dim[slice_int] 65.8810μs 42.9452μs 23.2855 KOps/s 22.8164 KOps/s $\color{#35bf28}+2.06\%$
test_setitem_dim[range] 0.1439ms 95.4894μs 10.4724 KOps/s 10.4136 KOps/s $\color{#35bf28}+0.56\%$
test_setitem_dim[tuple] 60.9710μs 39.0755μs 25.5915 KOps/s 25.2215 KOps/s $\color{#35bf28}+1.47\%$
test_setitem 52.8610μs 17.9876μs 55.5940 KOps/s 56.2574 KOps/s $\color{#d91a1a}-1.18\%$
test_set 48.3200μs 16.9757μs 58.9077 KOps/s 58.8535 KOps/s $\color{#35bf28}+0.09\%$
test_set_shared 0.6065ms 0.2064ms 4.8453 KOps/s 4.8489 KOps/s $\color{#d91a1a}-0.07\%$
test_update 0.2057ms 22.0439μs 45.3641 KOps/s 45.2695 KOps/s $\color{#35bf28}+0.21\%$
test_update_nested 80.4310μs 33.3153μs 30.0162 KOps/s 29.7079 KOps/s $\color{#35bf28}+1.04\%$
test_update__nested 0.4729ms 33.3933μs 29.9461 KOps/s 29.5445 KOps/s $\color{#35bf28}+1.36\%$
test_set_nested 51.8610μs 19.3519μs 51.6744 KOps/s 53.9485 KOps/s $\color{#d91a1a}-4.22\%$
test_set_nested_new 0.5779ms 23.2899μs 42.9371 KOps/s 42.6392 KOps/s $\color{#35bf28}+0.70\%$
test_select 80.6310μs 41.1070μs 24.3268 KOps/s 24.9078 KOps/s $\color{#d91a1a}-2.33\%$
test_select_nested 0.5138ms 74.9141μs 13.3486 KOps/s 13.3221 KOps/s $\color{#35bf28}+0.20\%$
test_exclude_nested 0.5215ms 92.2265μs 10.8429 KOps/s 10.8474 KOps/s $\color{#d91a1a}-0.04\%$
test_empty[True] 0.8384ms 0.3972ms 2.5179 KOps/s 2.4614 KOps/s $\color{#35bf28}+2.30\%$
test_empty[False] 0.1095ms 1.4013μs 713.6451 KOps/s 707.7281 KOps/s $\color{#35bf28}+0.84\%$
test_to 0.1001ms 67.9859μs 14.7089 KOps/s 13.9500 KOps/s $\textbf{\color{#35bf28}+5.44\%}$
test_to_nonblocking 0.1040ms 68.2802μs 14.6455 KOps/s 14.3654 KOps/s $\color{#35bf28}+1.95\%$
test_unbind_speed 0.7969ms 0.3367ms 2.9702 KOps/s 2.9376 KOps/s $\color{#35bf28}+1.11\%$
test_unbind_speed_stack0 0.7790ms 0.3284ms 3.0455 KOps/s 2.9997 KOps/s $\color{#35bf28}+1.53\%$
test_unbind_speed_stack1 0.1166s 0.8527ms 1.1727 KOps/s 1.1598 KOps/s $\color{#35bf28}+1.12\%$
test_split 1.6064ms 1.1396ms 877.5243 Ops/s 693.6275 Ops/s $\textbf{\color{#35bf28}+26.51\%}$
test_chunk 0.1169s 1.2330ms 811.0173 Ops/s 913.9464 Ops/s $\textbf{\color{#d91a1a}-11.26\%}$
test_to_cpu_blocking 19.7078ms 19.3089ms 51.7896 Ops/s 51.7849 Ops/s $+0.01\%$
test_to_cpu_global_sync 12.2651ms 11.7952ms 84.7804 Ops/s 84.9563 Ops/s $\color{#d91a1a}-0.21\%$
test_to_cpu_event_sync 13.1169ms 12.6343ms 79.1497 Ops/s 79.1351 Ops/s $\color{#35bf28}+0.02\%$
test_to_cpu_default 12.9673ms 12.5997ms 79.3670 Ops/s 79.2648 Ops/s $\color{#35bf28}+0.13\%$
test_consolidate[False-None] 0.1463s 4.7547ms 210.3200 Ops/s 205.2429 Ops/s $\color{#35bf28}+2.47\%$
test_consolidate[default-None] 2.6243ms 2.0227ms 494.3910 Ops/s 487.5237 Ops/s $\color{#35bf28}+1.41\%$
test_consolidate[reduce-overhead-None] 2.0146ms 1.9368ms 516.3227 Ops/s 501.8776 Ops/s $\color{#35bf28}+2.88\%$
test_consolidate_njt[False-None] 8.6785ms 8.4507ms 118.3333 Ops/s 116.0343 Ops/s $\color{#35bf28}+1.98\%$
test_to[False-False-None] 2.2317ms 2.1537ms 464.3238 Ops/s 457.8680 Ops/s $\color{#35bf28}+1.41\%$
test_to[True-False-None] 2.1803ms 1.8880ms 529.6714 Ops/s 532.6569 Ops/s $\color{#d91a1a}-0.56\%$
test_to[within-False-None] 6.2532ms 6.1323ms 163.0703 Ops/s 161.3645 Ops/s $\color{#35bf28}+1.06\%$
test_to[True-default-None] 10.8646ms 10.7096ms 93.3738 Ops/s 92.0002 Ops/s $\color{#35bf28}+1.49\%$
test_to_njt[False-False-None] 8.9195ms 8.5937ms 116.3643 Ops/s 116.2755 Ops/s $\color{#35bf28}+0.08\%$
test_to_njt[True-False-None] 7.0388ms 6.8631ms 145.7069 Ops/s 143.7298 Ops/s $\color{#35bf28}+1.38\%$
test_to_njt[within-False-None] 15.6249ms 15.3025ms 65.3489 Ops/s 64.2221 Ops/s $\color{#35bf28}+1.75\%$
test_creation[device0] 0.4557ms 0.1187ms 8.4269 KOps/s 8.4254 KOps/s $\color{#35bf28}+0.02\%$
test_creation_from_tensor 0.4097ms 0.1161ms 8.6097 KOps/s 8.5971 KOps/s $\color{#35bf28}+0.15\%$
test_add_one[memmap_tensor0] 0.3503ms 6.7947μs 147.1739 KOps/s 147.1080 KOps/s $\color{#35bf28}+0.04\%$
test_contiguous[memmap_tensor0] 14.8610μs 0.6633μs 1.5076 MOps/s 2.2073 MOps/s $\textbf{\color{#d91a1a}-31.70\%}$
test_stack[memmap_tensor0] 50.4110μs 4.3327μs 230.8023 KOps/s 233.2284 KOps/s $\color{#d91a1a}-1.04\%$
test_memmaptd_index 1.1552ms 0.2693ms 3.7130 KOps/s 3.6431 KOps/s $\color{#35bf28}+1.92\%$
test_memmaptd_index_astensor 0.5546ms 0.3762ms 2.6581 KOps/s 2.6399 KOps/s $\color{#35bf28}+0.69\%$
test_memmaptd_index_op 0.7938ms 0.6350ms 1.5747 KOps/s 1.5525 KOps/s $\color{#35bf28}+1.43\%$
test_serialize_model 0.1382s 0.1358s 7.3654 Ops/s 7.4143 Ops/s $\color{#d91a1a}-0.66\%$
test_serialize_model_pickle 1.3621s 1.2124s 0.8248 Ops/s 0.8225 Ops/s $\color{#35bf28}+0.28\%$
test_serialize_weights 0.1371s 0.1345s 7.4372 Ops/s 7.4444 Ops/s $\color{#d91a1a}-0.10\%$
test_serialize_weights_returnearly 73.8939ms 65.5831ms 15.2478 Ops/s 10.7880 Ops/s $\textbf{\color{#35bf28}+41.34\%}$
test_serialize_weights_pickle 1.3793s 1.2153s 0.8228 Ops/s 0.8216 Ops/s $\color{#35bf28}+0.15\%$
test_reshape_pytree 0.2007ms 32.4239μs 30.8414 KOps/s 30.1704 KOps/s $\color{#35bf28}+2.22\%$
test_reshape_td 71.0410μs 43.8409μs 22.8097 KOps/s 22.4073 KOps/s $\color{#35bf28}+1.80\%$
test_view_pytree 0.2217ms 31.8791μs 31.3685 KOps/s 30.8078 KOps/s $\color{#35bf28}+1.82\%$
test_view_td 0.1096ms 52.2596μs 19.1352 KOps/s 18.8919 KOps/s $\color{#35bf28}+1.29\%$
test_unbind_pytree 0.2323ms 36.5503μs 27.3596 KOps/s 27.0289 KOps/s $\color{#35bf28}+1.22\%$
test_unbind_td 75.8820μs 49.5013μs 20.2015 KOps/s 19.9527 KOps/s $\color{#35bf28}+1.25\%$
test_split_pytree 0.2161ms 42.0853μs 23.7613 KOps/s 23.1944 KOps/s $\color{#35bf28}+2.44\%$
test_split_td 0.2153ms 63.4137μs 15.7695 KOps/s 15.4756 KOps/s $\color{#35bf28}+1.90\%$
test_add_pytree 0.2375ms 41.7507μs 23.9517 KOps/s 23.3334 KOps/s $\color{#35bf28}+2.65\%$
test_add_td 93.5320μs 54.7014μs 18.2811 KOps/s 18.0423 KOps/s $\color{#35bf28}+1.32\%$
test_compile_add_one_nested[tensordict-compile] 0.3188ms 0.2212ms 4.5209 KOps/s 4.2298 KOps/s $\textbf{\color{#35bf28}+6.88\%}$
test_compile_add_one_nested[tensordict-eager] 0.2852ms 0.2031ms 4.9235 KOps/s 4.9776 KOps/s $\color{#d91a1a}-1.09\%$
test_compile_add_one_nested[pytree-compile] 0.3281ms 0.1328ms 7.5329 KOps/s 7.0808 KOps/s $\textbf{\color{#35bf28}+6.38\%}$
test_compile_add_one_nested[pytree-eager] 0.4134ms 0.1800ms 5.5542 KOps/s 5.5664 KOps/s $\color{#d91a1a}-0.22\%$
test_compile_copy_nested[tensordict-compile] 74.2010μs 15.1783μs 65.8834 KOps/s 65.9485 KOps/s $\color{#d91a1a}-0.10\%$
test_compile_copy_nested[tensordict-eager] 0.2982ms 53.9714μs 18.5283 KOps/s 18.3122 KOps/s $\color{#35bf28}+1.18\%$
test_compile_copy_nested[pytree-compile] 0.1197ms 15.8254μs 63.1895 KOps/s 62.2803 KOps/s $\color{#35bf28}+1.46\%$
test_compile_copy_nested[pytree-eager] 0.3750ms 67.7540μs 14.7593 KOps/s 14.3963 KOps/s $\color{#35bf28}+2.52\%$
test_compile_add_one_flat[tensordict-compile] 0.2920ms 0.2450ms 4.0815 KOps/s 3.8244 KOps/s $\textbf{\color{#35bf28}+6.72\%}$
test_compile_add_one_flat[tensordict-eager] 0.3782ms 0.2796ms 3.5761 KOps/s 3.4891 KOps/s $\color{#35bf28}+2.49\%$
test_compile_add_one_flat[tensorclass-compile] 0.3093ms 0.1816ms 5.5080 KOps/s 5.1194 KOps/s $\textbf{\color{#35bf28}+7.59\%}$
test_compile_add_one_flat[tensorclass-eager] 0.1137ms 75.5149μs 13.2424 KOps/s 13.1764 KOps/s $\color{#35bf28}+0.50\%$
test_compile_add_one_flat[pytree-compile] 0.4526ms 0.1906ms 5.2463 KOps/s 5.0490 KOps/s $\color{#35bf28}+3.91\%$
test_compile_add_one_flat[pytree-eager] 0.7899ms 0.5166ms 1.9358 KOps/s 1.9426 KOps/s $\color{#d91a1a}-0.35\%$
test_compile_add_self_flat[tensordict-eager] 0.4271ms 0.3278ms 3.0504 KOps/s 2.9618 KOps/s $\color{#35bf28}+2.99\%$
test_compile_add_self_flat[tensordict-compile] 0.4540ms 0.2477ms 4.0377 KOps/s 3.8029 KOps/s $\textbf{\color{#35bf28}+6.18\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1358ms 91.2374μs 10.9604 KOps/s 10.9012 KOps/s $\color{#35bf28}+0.54\%$
test_compile_add_self_flat[tensorclass-compile] 0.3774ms 0.1840ms 5.4353 KOps/s 5.1373 KOps/s $\textbf{\color{#35bf28}+5.80\%}$
test_compile_add_self_flat[pytree-eager] 0.6367ms 0.4175ms 2.3953 KOps/s 2.4012 KOps/s $\color{#d91a1a}-0.25\%$
test_compile_add_self_flat[pytree-compile] 0.3387ms 0.1908ms 5.2401 KOps/s 5.0691 KOps/s $\color{#35bf28}+3.37\%$
test_compile_copy_flat[tensordict-compile] 60.5310μs 19.0671μs 52.4463 KOps/s 53.0094 KOps/s $\color{#d91a1a}-1.06\%$
test_compile_copy_flat[tensordict-eager] 78.1210μs 41.2683μs 24.2317 KOps/s 23.5660 KOps/s $\color{#35bf28}+2.82\%$
test_compile_copy_flat[pytree-compile] 0.2775ms 21.2706μs 47.0131 KOps/s 45.8332 KOps/s $\color{#35bf28}+2.57\%$
test_compile_copy_flat[pytree-eager] 0.3451ms 52.0395μs 19.2162 KOps/s 18.9340 KOps/s $\color{#35bf28}+1.49\%$
test_compile_assign_and_add[tensordict-compile] 2.1916ms 0.2384ms 4.1939 KOps/s 4.0021 KOps/s $\color{#35bf28}+4.79\%$
test_compile_assign_and_add[tensordict-eager] 3.4632ms 3.2169ms 310.8619 Ops/s 308.3891 Ops/s $\color{#35bf28}+0.80\%$
test_compile_assign_and_add[pytree-compile] 2.0914ms 0.1799ms 5.5572 KOps/s 5.4489 KOps/s $\color{#35bf28}+1.99\%$
test_compile_assign_and_add[pytree-eager] 3.0011ms 2.7795ms 359.7781 Ops/s 371.4931 Ops/s $\color{#d91a1a}-3.15\%$
test_compile_indexing[tensor-tensordict-compile] 0.2745ms 0.1323ms 7.5563 KOps/s 7.3138 KOps/s $\color{#35bf28}+3.32\%$
test_compile_indexing[tensor-tensordict-eager] 0.3119ms 73.1807μs 13.6648 KOps/s 12.8022 KOps/s $\textbf{\color{#35bf28}+6.74\%}$
test_compile_indexing[tensor-tensorclass-compile] 0.2767ms 0.1169ms 8.5536 KOps/s 8.3067 KOps/s $\color{#35bf28}+2.97\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2572ms 46.9495μs 21.2995 KOps/s 20.5417 KOps/s $\color{#35bf28}+3.69\%$
test_compile_indexing[tensor-pytree-compile] 0.1632ms 0.1195ms 8.3699 KOps/s 7.9704 KOps/s $\textbf{\color{#35bf28}+5.01\%}$
test_compile_indexing[tensor-pytree-eager] 0.2591ms 46.5174μs 21.4973 KOps/s 20.7215 KOps/s $\color{#35bf28}+3.74\%$
test_compile_indexing[slice-tensordict-compile] 0.2091ms 82.0686μs 12.1849 KOps/s 12.0160 KOps/s $\color{#35bf28}+1.41\%$
test_compile_indexing[slice-tensordict-eager] 0.2142ms 29.4653μs 33.9382 KOps/s 35.8308 KOps/s $\textbf{\color{#d91a1a}-5.28\%}$
test_compile_indexing[slice-tensorclass-compile] 0.1660ms 68.7476μs 14.5460 KOps/s 14.1972 KOps/s $\color{#35bf28}+2.46\%$
test_compile_indexing[slice-tensorclass-eager] 0.2383ms 21.9933μs 45.4685 KOps/s 44.2774 KOps/s $\color{#35bf28}+2.69\%$
test_compile_indexing[slice-pytree-compile] 0.1066ms 69.7840μs 14.3299 KOps/s 14.0367 KOps/s $\color{#35bf28}+2.09\%$
test_compile_indexing[slice-pytree-eager] 0.2409ms 21.9019μs 45.6581 KOps/s 44.4398 KOps/s $\color{#35bf28}+2.74\%$
test_compile_indexing[int-tensordict-compile] 0.1279ms 82.5819μs 12.1092 KOps/s 11.8411 KOps/s $\color{#35bf28}+2.26\%$
test_compile_indexing[int-tensordict-eager] 0.2015ms 27.1653μs 36.8117 KOps/s 36.0978 KOps/s $\color{#35bf28}+1.98\%$
test_compile_indexing[int-tensorclass-compile] 0.1090ms 69.5756μs 14.3729 KOps/s 14.0842 KOps/s $\color{#35bf28}+2.05\%$
test_compile_indexing[int-tensorclass-eager] 0.2395ms 21.8776μs 45.7088 KOps/s 44.4961 KOps/s $\color{#35bf28}+2.73\%$
test_compile_indexing[int-pytree-compile] 0.2301ms 69.7559μs 14.3357 KOps/s 14.0847 KOps/s $\color{#35bf28}+1.78\%$
test_compile_indexing[int-pytree-eager] 0.2351ms 21.7758μs 45.9225 KOps/s 44.7837 KOps/s $\color{#35bf28}+2.54\%$
test_compile_replace[single-eager] 82.4010μs 47.6795μs 20.9734 KOps/s 20.5207 KOps/s $\color{#35bf28}+2.21\%$
test_compile_replace[single-compile] 0.2245ms 0.1289ms 7.7551 KOps/s 7.6227 KOps/s $\color{#35bf28}+1.74\%$
test_compile_replace[multi-eager] 0.6911ms 0.5600ms 1.7857 KOps/s 1.7337 KOps/s $\color{#35bf28}+3.00\%$
test_compile_replace[multi-compile] 0.3113ms 0.1375ms 7.2712 KOps/s 7.1619 KOps/s $\color{#35bf28}+1.53\%$
test_compile_tc_getattr_20[eager] 0.2087ms 0.1600ms 6.2494 KOps/s 6.2160 KOps/s $\color{#35bf28}+0.54\%$
test_compile_tc_getattr_20[compile] 0.3510ms 0.1467ms 6.8179 KOps/s 6.6829 KOps/s $\color{#35bf28}+2.02\%$
test_compile_clone_shallow[20-eager] 60.5910μs 19.1800μs 52.1375 KOps/s 50.9021 KOps/s $\color{#35bf28}+2.43\%$
test_compile_clone_shallow[20-compile] 73.3910μs 16.5338μs 60.4823 KOps/s 58.8211 KOps/s $\color{#35bf28}+2.82\%$
test_compile_clone_shallow[40-eager] 73.2010μs 34.0707μs 29.3507 KOps/s 28.5273 KOps/s $\color{#35bf28}+2.89\%$
test_compile_clone_shallow[40-compile] 85.4010μs 18.0388μs 55.4361 KOps/s 54.3266 KOps/s $\color{#35bf28}+2.04\%$
test_compile_clone_shallow[80-eager] 0.1026ms 63.0851μs 15.8516 KOps/s 15.4153 KOps/s $\color{#35bf28}+2.83\%$
test_compile_clone_shallow[80-compile] 82.2720μs 21.0940μs 47.4069 KOps/s 45.9322 KOps/s $\color{#35bf28}+3.21\%$
test_compile_update_inplace[eager] 0.2062ms 60.7032μs 16.4736 KOps/s 16.2893 KOps/s $\color{#35bf28}+1.13\%$
test_compile_update_inplace[compile] 0.3857ms 0.1452ms 6.8884 KOps/s 6.7374 KOps/s $\color{#35bf28}+2.24\%$
test_mod_add[eager] 0.2700ms 0.2273ms 4.4003 KOps/s 4.4187 KOps/s $\color{#d91a1a}-0.42\%$
test_mod_add[compile] 0.2998ms 0.1315ms 7.6057 KOps/s 7.4580 KOps/s $\color{#35bf28}+1.98\%$
test_mod_add[compile-overhead] 0.3497ms 0.1762ms 5.6742 KOps/s 5.5934 KOps/s $\color{#35bf28}+1.44\%$
test_mod_wrap[eager] 0.5540ms 0.4653ms 2.1490 KOps/s 2.0989 KOps/s $\color{#35bf28}+2.39\%$
test_mod_wrap[compile] 0.5365ms 0.3885ms 2.5742 KOps/s 2.5070 KOps/s $\color{#35bf28}+2.68\%$
test_mod_wrap[compile-overhead] 8.6522ms 4.7308ms 211.3827 Ops/s 214.0524 Ops/s $\color{#d91a1a}-1.25\%$
test_mod_wrap_and_backward[eager] 1.8964ms 1.7726ms 564.1486 Ops/s 593.4871 Ops/s $\color{#d91a1a}-4.94\%$
test_mod_wrap_and_backward[compile] 2.2362ms 1.5903ms 628.8090 Ops/s 648.3604 Ops/s $\color{#d91a1a}-3.02\%$
test_mod_wrap_and_backward[compile-overhead] 1.5721ms 0.9945ms 1.0056 KOps/s 1.0332 KOps/s $\color{#d91a1a}-2.68\%$
test_seq_add[eager] 0.6127ms 0.5082ms 1.9676 KOps/s 1.9545 KOps/s $\color{#35bf28}+0.67\%$
test_seq_add[compile] 0.2290ms 0.1387ms 7.2122 KOps/s 6.8000 KOps/s $\textbf{\color{#35bf28}+6.06\%}$
test_seq_add[compile-overhead] 0.3243ms 0.1801ms 5.5526 KOps/s 5.3057 KOps/s $\color{#35bf28}+4.65\%$
test_seq_wrap[eager] 1.5020ms 1.4019ms 713.3002 Ops/s 702.3060 Ops/s $\color{#35bf28}+1.57\%$
test_seq_wrap[compile] 0.4986ms 0.4016ms 2.4901 KOps/s 2.3827 KOps/s $\color{#35bf28}+4.51\%$
test_seq_wrap[compile-overhead] 0.3665ms 0.3006ms 3.3262 KOps/s 3.2484 KOps/s $\color{#35bf28}+2.40\%$
test_func_call_runtime[False-eager] 0.8704ms 0.7907ms 1.2647 KOps/s 1.2438 KOps/s $\color{#35bf28}+1.68\%$
test_func_call_runtime[False-compile] 1.0693ms 0.9722ms 1.0285 KOps/s 1.0214 KOps/s $\color{#35bf28}+0.70\%$
test_func_call_runtime[False-compile-overhead] 0.6615ms 0.5120ms 1.9532 KOps/s 1.9318 KOps/s $\color{#35bf28}+1.11\%$
test_func_call_runtime[True-eager] 1.1108ms 1.0376ms 963.7249 Ops/s 954.6931 Ops/s $\color{#35bf28}+0.95\%$
test_func_call_runtime[True-compile] 1.0781ms 0.9770ms 1.0236 KOps/s 1.0053 KOps/s $\color{#35bf28}+1.81\%$
test_func_call_runtime[True-compile-overhead] 0.5906ms 0.5243ms 1.9073 KOps/s 1.8727 KOps/s $\color{#35bf28}+1.84\%$
test_func_call_cm_runtime[False-eager] 0.9399ms 0.8482ms 1.1790 KOps/s 1.2464 KOps/s $\textbf{\color{#d91a1a}-5.41\%}$
test_func_call_cm_runtime[False-compile] 1.0738ms 0.9530ms 1.0493 KOps/s 1.0419 KOps/s $\color{#35bf28}+0.71\%$
test_func_call_cm_runtime[False-compile-overhead] 0.5368ms 0.4908ms 2.0377 KOps/s 2.0149 KOps/s $\color{#35bf28}+1.13\%$
test_func_call_cm_runtime[True-eager] 1.3168ms 1.1788ms 848.3019 Ops/s 835.9050 Ops/s $\color{#35bf28}+1.48\%$
test_func_call_cm_runtime[True-compile] 1.0886ms 0.9980ms 1.0020 KOps/s 988.7501 Ops/s $\color{#35bf28}+1.34\%$
test_func_call_cm_runtime[True-compile-overhead] 0.6048ms 0.5407ms 1.8493 KOps/s 1.8118 KOps/s $\color{#35bf28}+2.07\%$
test_vmap_func_call_cm_runtime[eager] 2.8369ms 2.3685ms 422.2005 Ops/s 418.5829 Ops/s $\color{#35bf28}+0.86\%$
test_vmap_func_call_cm_runtime[compile] 1.1226ms 1.0129ms 987.3094 Ops/s 978.5965 Ops/s $\color{#35bf28}+0.89\%$
test_vmap_func_call_cm_runtime[compile-overhead] 0.6722ms 0.5401ms 1.8517 KOps/s 1.8391 KOps/s $\color{#35bf28}+0.69\%$
test_distributed 0.5433ms 0.1504ms 6.6496 KOps/s 6.5336 KOps/s $\color{#35bf28}+1.77\%$
test_tdmodule 0.2976ms 0.1958ms 5.1075 KOps/s 5.0061 KOps/s $\color{#35bf28}+2.03\%$
test_tdmodule_dispatch 0.4186ms 0.3719ms 2.6888 KOps/s 2.6569 KOps/s $\color{#35bf28}+1.20\%$
test_tdseq 47.7210μs 26.7173μs 37.4289 KOps/s 37.0337 KOps/s $\color{#35bf28}+1.07\%$
test_tdseq_dispatch 0.2584ms 0.2151ms 4.6490 KOps/s 4.5833 KOps/s $\color{#35bf28}+1.43\%$
test_instantiation_functorch 2.1256ms 2.0652ms 484.2210 Ops/s 478.8436 Ops/s $\color{#35bf28}+1.12\%$
test_exec_functorch 0.2238ms 0.1800ms 5.5541 KOps/s 5.3460 KOps/s $\color{#35bf28}+3.89\%$
test_exec_functional_call 0.2142ms 0.1603ms 6.2387 KOps/s 5.9515 KOps/s $\color{#35bf28}+4.83\%$
test_exec_td_decorator 0.4554ms 0.2376ms 4.2081 KOps/s 4.0745 KOps/s $\color{#35bf28}+3.28\%$
test_vmap_mlp_speed_decorator[True-True] 1.2065ms 1.0040ms 995.9860 Ops/s 982.4199 Ops/s $\color{#35bf28}+1.38\%$
test_vmap_mlp_speed_decorator[True-False] 1.1812ms 1.0023ms 997.7546 Ops/s 983.9928 Ops/s $\color{#35bf28}+1.40\%$
test_vmap_mlp_speed_decorator[False-True] 0.8808ms 0.7033ms 1.4219 KOps/s 1.3998 KOps/s $\color{#35bf28}+1.57\%$
test_vmap_mlp_speed_decorator[False-False] 0.8632ms 0.7028ms 1.4229 KOps/s 1.3968 KOps/s $\color{#35bf28}+1.87\%$
test_vmap_transformer_speed_decorator[True-True] 20.8703ms 20.6712ms 48.3765 Ops/s 47.8493 Ops/s $\color{#35bf28}+1.10\%$
test_vmap_transformer_speed_decorator[True-False] 20.7923ms 20.6005ms 48.5424 Ops/s 47.8887 Ops/s $\color{#35bf28}+1.37\%$
test_vmap_transformer_speed_decorator[False-True] 20.8525ms 20.2226ms 49.4495 Ops/s 48.5010 Ops/s $\color{#35bf28}+1.96\%$
test_vmap_transformer_speed_decorator[False-False] 21.2188ms 20.2739ms 49.3244 Ops/s 48.8815 Ops/s $\color{#35bf28}+0.91\%$
test_to_module_speed[True] 2.1355ms 1.4723ms 679.2136 Ops/s 670.3988 Ops/s $\color{#35bf28}+1.31\%$
test_to_module_speed[False] 2.0708ms 1.4289ms 699.8302 Ops/s 682.8770 Ops/s $\color{#35bf28}+2.48\%$
test_tc_init 78.5520μs 42.5296μs 23.5130 KOps/s 22.9971 KOps/s $\color{#35bf28}+2.24\%$
test_tc_init_tensor_only 39.7600μs 8.8802μs 112.6100 KOps/s 110.2115 KOps/s $\color{#35bf28}+2.18\%$
test_tc_init_nested 0.1354ms 84.4471μs 11.8417 KOps/s 11.5889 KOps/s $\color{#35bf28}+2.18\%$
test_tc_init_many_fields 46.1210μs 14.7672μs 67.7176 KOps/s 65.5815 KOps/s $\color{#35bf28}+3.26\%$
test_tc_first_layer_tensor 21.1310μs 1.7787μs 562.2146 KOps/s 550.5198 KOps/s $\color{#35bf28}+2.12\%$
test_tc_first_layer_tensor_only 1.8255μs 0.3942μs 2.5367 MOps/s 2.5045 MOps/s $\color{#35bf28}+1.28\%$
test_tc_first_layer_tensor_set 29.6110μs 3.8980μs 256.5447 KOps/s 253.1486 KOps/s $\color{#35bf28}+1.34\%$
test_tc_first_layer_tensor_only_set 21.5910μs 3.2641μs 306.3588 KOps/s 308.3573 KOps/s $\color{#d91a1a}-0.65\%$
test_tc_first_layer_nontensor 38.0000μs 6.0832μs 164.3864 KOps/s 156.5556 KOps/s $\textbf{\color{#35bf28}+5.00\%}$
test_tc_second_layer_tensor 35.0210μs 4.3675μs 228.9625 KOps/s 224.5388 KOps/s $\color{#35bf28}+1.97\%$
test_tc_second_layer_nontensor 40.9110μs 8.6505μs 115.5997 KOps/s 112.3694 KOps/s $\color{#35bf28}+2.87\%$
test_unbind 0.2881s 13.0661ms 76.5337 Ops/s 69.2189 Ops/s $\textbf{\color{#35bf28}+10.57\%}$
test_full_like 4.6847ms 4.4105ms 226.7292 Ops/s 225.3380 Ops/s $\color{#35bf28}+0.62\%$
test_zeros_like 4.6567ms 4.3804ms 228.2899 Ops/s 229.5960 Ops/s $\color{#d91a1a}-0.57\%$
test_ones_like 4.6859ms 4.3978ms 227.3876 Ops/s 227.2281 Ops/s $\color{#35bf28}+0.07\%$
test_clone 7.3384ms 6.8657ms 145.6526 Ops/s 145.3268 Ops/s $\color{#35bf28}+0.22\%$
test_squeeze 0.1624ms 14.1086μs 70.8786 KOps/s 71.4044 KOps/s $\color{#d91a1a}-0.74\%$
test_unsqueeze 0.1901ms 0.1108ms 9.0284 KOps/s 8.9556 KOps/s $\color{#35bf28}+0.81\%$
test_split 0.4137ms 0.1807ms 5.5327 KOps/s 5.4497 KOps/s $\color{#35bf28}+1.52\%$
test_permute 0.2567ms 0.2074ms 4.8225 KOps/s 4.8407 KOps/s $\color{#d91a1a}-0.38\%$
test_stack 55.3953ms 53.4040ms 18.7252 Ops/s 19.0242 Ops/s $\color{#d91a1a}-1.57\%$
test_cat 52.9875ms 52.5682ms 19.0229 Ops/s 19.0252 Ops/s $\color{#d91a1a}-0.01\%$
test_sequential_tensordict 0.6307ms 0.5717ms 1.7491 KOps/s 1.7434 KOps/s $\color{#35bf28}+0.32\%$
test_sequential_graph_module 0.5111ms 0.1176ms 8.5055 KOps/s 7.9269 KOps/s $\textbf{\color{#35bf28}+7.30\%}$
test_nested_tensordict 0.9935ms 0.8224ms 1.2159 KOps/s 1.2081 KOps/s $\color{#35bf28}+0.65\%$
test_nested_graph_module 0.5447ms 0.1305ms 7.6599 KOps/s 7.6493 KOps/s $\color{#35bf28}+0.14\%$

@github-actions

github-actions Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

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

Total Benchmarks: 341. Improved: $\large\color{#35bf28}33$. Worsened: $\large\color{#d91a1a}14$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2280ms 0.1627ms 6.1475 KOps/s 5.9674 KOps/s $\color{#35bf28}+3.02\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3602ms 0.2831ms 3.5320 KOps/s 3.5113 KOps/s $\color{#35bf28}+0.59\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.8202ms 0.7450ms 1.3424 KOps/s 1.3233 KOps/s $\color{#35bf28}+1.44\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.4304ms 0.3420ms 2.9240 KOps/s 2.9681 KOps/s $\color{#d91a1a}-1.49\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.4198ms 1.1486ms 870.6212 Ops/s 947.9226 Ops/s $\textbf{\color{#d91a1a}-8.15\%}$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.5738ms 7.2712ms 137.5296 Ops/s 136.6394 Ops/s $\color{#35bf28}+0.65\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.2926ms 0.2408ms 4.1527 KOps/s 4.0757 KOps/s $\color{#35bf28}+1.89\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.4832ms 0.3735ms 2.6774 KOps/s 2.6837 KOps/s $\color{#d91a1a}-0.23\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9132ms 0.7892ms 1.2671 KOps/s 1.2584 KOps/s $\color{#35bf28}+0.69\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3074ms 0.2493ms 4.0106 KOps/s 3.8590 KOps/s $\color{#35bf28}+3.93\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.4533ms 0.3748ms 2.6681 KOps/s 2.6315 KOps/s $\color{#35bf28}+1.39\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9864ms 0.8546ms 1.1702 KOps/s 1.1686 KOps/s $\color{#35bf28}+0.14\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2607ms 0.2054ms 4.8691 KOps/s 4.7562 KOps/s $\color{#35bf28}+2.37\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.8559ms 0.8061ms 1.2405 KOps/s 1.1939 KOps/s $\color{#35bf28}+3.91\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.3437ms 3.2190ms 310.6558 Ops/s 305.9979 Ops/s $\color{#35bf28}+1.52\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.4164ms 0.3515ms 2.8451 KOps/s 2.6045 KOps/s $\textbf{\color{#35bf28}+9.24\%}$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 2.1320ms 1.7158ms 582.8280 Ops/s 594.2548 Ops/s $\color{#d91a1a}-1.92\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.5612ms 10.1876ms 98.1585 Ops/s 96.1921 Ops/s $\color{#35bf28}+2.04\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.5395ms 0.3982ms 2.5111 KOps/s 2.5192 KOps/s $\color{#d91a1a}-0.32\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.7180ms 1.4828ms 674.3821 Ops/s 648.1742 Ops/s $\color{#35bf28}+4.04\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 6.0636ms 5.6422ms 177.2352 Ops/s 165.3785 Ops/s $\textbf{\color{#35bf28}+7.17\%}$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4693ms 0.3836ms 2.6070 KOps/s 2.4305 KOps/s $\textbf{\color{#35bf28}+7.26\%}$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5938ms 1.4738ms 678.5402 Ops/s 646.1914 Ops/s $\textbf{\color{#35bf28}+5.01\%}$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 5.9866ms 5.6746ms 176.2224 Ops/s 164.0608 Ops/s $\textbf{\color{#35bf28}+7.41\%}$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2692ms 0.1684ms 5.9373 KOps/s 5.7289 KOps/s $\color{#35bf28}+3.64\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7070ms 0.6587ms 1.5181 KOps/s 1.4780 KOps/s $\color{#35bf28}+2.72\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7111ms 2.5936ms 385.5596 Ops/s 372.0254 Ops/s $\color{#35bf28}+3.64\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.7049ms 0.3169ms 3.1558 KOps/s 3.0505 KOps/s $\color{#35bf28}+3.45\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.8080ms 1.4838ms 673.9555 Ops/s 684.3762 Ops/s $\color{#d91a1a}-1.52\%$
test_collector_preallocated_write[copy_at-cpu-4096-32] 9.7416ms 9.5194ms 105.0484 Ops/s 105.1878 Ops/s $\color{#d91a1a}-0.13\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.4809ms 0.3187ms 3.1375 KOps/s 3.0830 KOps/s $\color{#35bf28}+1.76\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.3906ms 1.1874ms 842.2111 Ops/s 816.2616 Ops/s $\color{#35bf28}+3.18\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.7910ms 4.6622ms 214.4912 Ops/s 211.4493 Ops/s $\color{#35bf28}+1.44\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.4078ms 0.3211ms 3.1139 KOps/s 3.0876 KOps/s $\color{#35bf28}+0.85\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.2625ms 1.1972ms 835.2645 Ops/s 826.4721 Ops/s $\color{#35bf28}+1.06\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 5.0382ms 4.6686ms 214.1986 Ops/s 210.5403 Ops/s $\color{#35bf28}+1.74\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1499ms 0.1167ms 8.5675 KOps/s 8.2989 KOps/s $\color{#35bf28}+3.24\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5411ms 0.4583ms 2.1822 KOps/s 2.1187 KOps/s $\color{#35bf28}+2.99\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.9359ms 1.8149ms 551.0056 Ops/s 530.6502 Ops/s $\color{#35bf28}+3.84\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3274ms 0.2565ms 3.8993 KOps/s 3.7792 KOps/s $\color{#35bf28}+3.18\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.3571ms 1.1900ms 840.3480 Ops/s 804.5563 Ops/s $\color{#35bf28}+4.45\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 8.7723ms 8.5690ms 116.6991 Ops/s 117.2283 Ops/s $\color{#d91a1a}-0.45\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3850ms 0.2684ms 3.7262 KOps/s 3.6086 KOps/s $\color{#35bf28}+3.26\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.2064ms 1.0076ms 992.4763 Ops/s 963.2102 Ops/s $\color{#35bf28}+3.04\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.0502ms 3.8988ms 256.4884 Ops/s 245.7086 Ops/s $\color{#35bf28}+4.39\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3313ms 0.2686ms 3.7228 KOps/s 3.6034 KOps/s $\color{#35bf28}+3.31\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.0691ms 1.0055ms 994.5551 Ops/s 966.3059 Ops/s $\color{#35bf28}+2.92\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.0447ms 3.9493ms 253.2108 Ops/s 243.7118 Ops/s $\color{#35bf28}+3.90\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 15.7078ms 15.6163ms 64.0355 Ops/s 64.2898 Ops/s $\color{#d91a1a}-0.40\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 31.7980ms 31.5498ms 31.6960 Ops/s 31.8912 Ops/s $\color{#d91a1a}-0.61\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 85.1971ms 84.2558ms 11.8686 Ops/s 11.9898 Ops/s $\color{#d91a1a}-1.01\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.2010s 0.2003s 4.9926 Ops/s 5.1051 Ops/s $\color{#d91a1a}-2.20\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 13.2124ms 13.0530ms 76.6110 Ops/s 76.3615 Ops/s $\color{#35bf28}+0.33\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 25.6661ms 25.5254ms 39.1767 Ops/s 39.2404 Ops/s $\color{#d91a1a}-0.16\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 13.5636ms 13.2976ms 75.2014 Ops/s 75.5350 Ops/s $\color{#d91a1a}-0.44\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 26.1904ms 26.0469ms 38.3923 Ops/s 38.6746 Ops/s $\color{#d91a1a}-0.73\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 53.4292ms 52.3157ms 19.1147 Ops/s 18.5430 Ops/s $\color{#35bf28}+3.08\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1034s 0.1030s 9.7046 Ops/s 9.5905 Ops/s $\color{#35bf28}+1.19\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1481s 0.1440s 6.9467 Ops/s 6.9295 Ops/s $\color{#35bf28}+0.25\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3284s 0.3243s 3.0836 Ops/s 3.0926 Ops/s $\color{#d91a1a}-0.29\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 73.5274ms 72.9954ms 13.6995 Ops/s 12.7682 Ops/s $\textbf{\color{#35bf28}+7.29\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1588s 0.1579s 6.3331 Ops/s 6.4022 Ops/s $\color{#d91a1a}-1.08\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 79.2959ms 78.5743ms 12.7268 Ops/s 12.6877 Ops/s $\color{#35bf28}+0.31\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1587s 0.1565s 6.3888 Ops/s 6.3682 Ops/s $\color{#35bf28}+0.32\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 29.9310ms 29.7110ms 33.6576 Ops/s 33.3586 Ops/s $\color{#35bf28}+0.90\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 60.2712ms 60.0260ms 16.6594 Ops/s 16.4900 Ops/s $\color{#35bf28}+1.03\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1191s 0.1179s 8.4836 Ops/s 8.4259 Ops/s $\color{#35bf28}+0.68\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2680s 0.2672s 3.7431 Ops/s 3.8412 Ops/s $\color{#d91a1a}-2.55\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 42.6613ms 42.3221ms 23.6283 Ops/s 23.4572 Ops/s $\color{#35bf28}+0.73\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 85.0231ms 84.5844ms 11.8225 Ops/s 11.7112 Ops/s $\color{#35bf28}+0.95\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 43.4287ms 42.7723ms 23.3796 Ops/s 23.2086 Ops/s $\color{#35bf28}+0.74\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 86.4696ms 85.3428ms 11.7174 Ops/s 11.6299 Ops/s $\color{#35bf28}+0.75\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.2287ms 20.0461ms 49.8851 Ops/s 49.0340 Ops/s $\color{#35bf28}+1.74\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 41.2747ms 40.7783ms 24.5228 Ops/s 24.0245 Ops/s $\color{#35bf28}+2.07\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1089s 0.1079s 9.2698 Ops/s 9.3019 Ops/s $\color{#d91a1a}-0.34\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2510s 0.2495s 4.0081 Ops/s 4.1915 Ops/s $\color{#d91a1a}-4.38\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 36.5279ms 35.9728ms 27.7988 Ops/s 26.9964 Ops/s $\color{#35bf28}+2.97\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 72.0515ms 71.6842ms 13.9501 Ops/s 13.5520 Ops/s $\color{#35bf28}+2.94\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 36.2081ms 35.8193ms 27.9179 Ops/s 26.9325 Ops/s $\color{#35bf28}+3.66\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 73.0892ms 72.4723ms 13.7984 Ops/s 13.4594 Ops/s $\color{#35bf28}+2.52\%$
test_plain_set_nested 29.7010μs 15.3494μs 65.1491 KOps/s 67.4550 KOps/s $\color{#d91a1a}-3.42\%$
test_plain_set_stack_nested 31.3110μs 15.0355μs 66.5092 KOps/s 68.3340 KOps/s $\color{#d91a1a}-2.67\%$
test_plain_set_nested_inplace 46.4910μs 16.6647μs 60.0072 KOps/s 61.7953 KOps/s $\color{#d91a1a}-2.89\%$
test_plain_set_stack_nested_inplace 89.9720μs 16.2787μs 61.4300 KOps/s 63.0638 KOps/s $\color{#d91a1a}-2.59\%$
test_items 27.2300μs 5.4353μs 183.9820 KOps/s 179.9998 KOps/s $\color{#35bf28}+2.21\%$
test_items_nested 0.5192ms 0.4509ms 2.2177 KOps/s 2.2546 KOps/s $\color{#d91a1a}-1.64\%$
test_items_nested_locked 0.5591ms 0.4469ms 2.2375 KOps/s 2.2242 KOps/s $\color{#35bf28}+0.59\%$
test_items_nested_leaf 0.1566ms 91.5688μs 10.9207 KOps/s 10.7778 KOps/s $\color{#35bf28}+1.33\%$
test_items_stack_nested 0.4986ms 0.4457ms 2.2439 KOps/s 2.2661 KOps/s $\color{#d91a1a}-0.98\%$
test_items_stack_nested_leaf 0.1498ms 91.6628μs 10.9096 KOps/s 10.6821 KOps/s $\color{#35bf28}+2.13\%$
test_items_stack_nested_locked 0.5526ms 0.4481ms 2.2314 KOps/s 2.2309 KOps/s $\color{#35bf28}+0.02\%$
test_keys 33.3210μs 4.0964μs 244.1181 KOps/s 241.5682 KOps/s $\color{#35bf28}+1.06\%$
test_keys_nested 0.1792ms 0.1298ms 7.7050 KOps/s 7.8578 KOps/s $\color{#d91a1a}-1.94\%$
test_keys_nested_locked 1.9968ms 0.1386ms 7.2148 KOps/s 7.3864 KOps/s $\color{#d91a1a}-2.32\%$
test_keys_nested_leaf 0.1812ms 0.1210ms 8.2675 KOps/s 8.5025 KOps/s $\color{#d91a1a}-2.76\%$
test_keys_stack_nested 0.1845ms 0.1298ms 7.7025 KOps/s 7.8233 KOps/s $\color{#d91a1a}-1.54\%$
test_keys_stack_nested_leaf 0.1698ms 0.1194ms 8.3749 KOps/s 8.5755 KOps/s $\color{#d91a1a}-2.34\%$
test_keys_stack_nested_locked 0.2079ms 0.1373ms 7.2843 KOps/s 7.4938 KOps/s $\color{#d91a1a}-2.79\%$
test_values 6.5602μs 1.0092μs 990.9140 KOps/s 967.4838 KOps/s $\color{#35bf28}+2.42\%$
test_values_nested 79.8220μs 52.1266μs 19.1841 KOps/s 19.5275 KOps/s $\color{#d91a1a}-1.76\%$
test_values_nested_locked 90.3120μs 55.7243μs 17.9455 KOps/s 18.3141 KOps/s $\color{#d91a1a}-2.01\%$
test_values_nested_leaf 90.5420μs 60.2586μs 16.5951 KOps/s 17.0926 KOps/s $\color{#d91a1a}-2.91\%$
test_values_stack_nested 84.2320μs 52.1510μs 19.1751 KOps/s 19.4704 KOps/s $\color{#d91a1a}-1.52\%$
test_values_stack_nested_leaf 83.5020μs 60.2410μs 16.6000 KOps/s 17.5793 KOps/s $\textbf{\color{#d91a1a}-5.57\%}$
test_values_stack_nested_locked 84.7620μs 55.8417μs 17.9078 KOps/s 18.5615 KOps/s $\color{#d91a1a}-3.52\%$
test_membership 13.2437μs 0.7959μs 1.2565 MOps/s 1.2708 MOps/s $\color{#d91a1a}-1.12\%$
test_membership_nested 25.8610μs 2.8048μs 356.5312 KOps/s 362.8373 KOps/s $\color{#d91a1a}-1.74\%$
test_membership_nested_leaf 17.7705μs 2.6765μs 373.6273 KOps/s 360.9783 KOps/s $\color{#35bf28}+3.50\%$
test_membership_stacked_nested 29.9310μs 2.7027μs 369.9990 KOps/s 371.6257 KOps/s $\color{#d91a1a}-0.44\%$
test_membership_stacked_nested_leaf 32.1410μs 2.6964μs 370.8695 KOps/s 371.6365 KOps/s $\color{#d91a1a}-0.21\%$
test_membership_nested_last 35.7210μs 4.1632μs 240.1998 KOps/s 238.3296 KOps/s $\color{#35bf28}+0.78\%$
test_membership_nested_leaf_last 35.0100μs 4.1803μs 239.2180 KOps/s 239.1214 KOps/s $\color{#35bf28}+0.04\%$
test_membership_stacked_nested_last 23.7310μs 4.1316μs 242.0374 KOps/s 245.9158 KOps/s $\color{#d91a1a}-1.58\%$
test_membership_stacked_nested_leaf_last 29.0810μs 4.0786μs 245.1836 KOps/s 245.8213 KOps/s $\color{#d91a1a}-0.26\%$
test_nested_getleaf 47.2410μs 20.1732μs 49.5707 KOps/s 48.3734 KOps/s $\color{#35bf28}+2.48\%$
test_nested_get 51.9810μs 18.8661μs 53.0050 KOps/s 51.1356 KOps/s $\color{#35bf28}+3.66\%$
test_stacked_getleaf 47.4810μs 19.9364μs 50.1594 KOps/s 48.2936 KOps/s $\color{#35bf28}+3.86\%$
test_stacked_get 48.5620μs 19.1164μs 52.3111 KOps/s 51.9683 KOps/s $\color{#35bf28}+0.66\%$
test_nested_getitemleaf 93.2720μs 20.5398μs 48.6860 KOps/s 47.4593 KOps/s $\color{#35bf28}+2.58\%$
test_nested_getitem 55.3110μs 19.4699μs 51.3613 KOps/s 50.4253 KOps/s $\color{#35bf28}+1.86\%$
test_stacked_getitemleaf 8.4144ms 20.3205μs 49.2115 KOps/s 48.3413 KOps/s $\color{#35bf28}+1.80\%$
test_stacked_getitem 38.4600μs 19.5837μs 51.0629 KOps/s 51.1210 KOps/s $\color{#d91a1a}-0.11\%$
test_lock_nested 0.5103ms 0.4546ms 2.1996 KOps/s 2.1571 KOps/s $\color{#35bf28}+1.97\%$
test_lock_stack_nested 0.5704ms 0.4607ms 2.1706 KOps/s 2.1597 KOps/s $\color{#35bf28}+0.50\%$
test_unlock_nested 0.4546ms 0.3748ms 2.6684 KOps/s 2.6865 KOps/s $\color{#d91a1a}-0.67\%$
test_unlock_stack_nested 0.4331ms 0.3758ms 2.6611 KOps/s 2.6610 KOps/s $+0.00\%$
test_flatten_speed 0.1633ms 0.1171ms 8.5398 KOps/s 8.6480 KOps/s $\color{#d91a1a}-1.25\%$
test_unflatten_speed 0.6711ms 0.5432ms 1.8410 KOps/s 1.8312 KOps/s $\color{#35bf28}+0.54\%$
test_common_ops 98.9189ms 1.6555ms 604.0552 Ops/s 243.3742 Ops/s $\textbf{\color{#35bf28}+148.20\%}$
test_creation 73.7820μs 2.9653μs 337.2336 KOps/s 345.4281 KOps/s $\color{#d91a1a}-2.37\%$
test_creation_empty 27.9610μs 6.5796μs 151.9844 KOps/s 153.7089 KOps/s $\color{#d91a1a}-1.12\%$
test_creation_nested_1 49.1310μs 10.7305μs 93.1919 KOps/s 92.1440 KOps/s $\color{#35bf28}+1.14\%$
test_creation_nested_2 40.7110μs 12.8876μs 77.5939 KOps/s 78.6692 KOps/s $\color{#d91a1a}-1.37\%$
test_creation_many_keys[10] 54.2710μs 19.5986μs 51.0242 KOps/s 51.1879 KOps/s $\color{#d91a1a}-0.32\%$
test_creation_many_keys[50] 0.1211ms 83.9853μs 11.9068 KOps/s 11.7637 KOps/s $\color{#35bf28}+1.22\%$
test_creation_many_keys[100] 0.2255ms 0.1655ms 6.0419 KOps/s 6.0464 KOps/s $\color{#d91a1a}-0.07\%$
test_creation_nested_many_keys[10] 74.3720μs 42.3377μs 23.6196 KOps/s 23.7758 KOps/s $\color{#d91a1a}-0.66\%$
test_creation_nested_many_keys[50] 0.2262ms 0.1714ms 5.8356 KOps/s 5.7574 KOps/s $\color{#35bf28}+1.36\%$
test_clone 35.0910μs 12.8139μs 78.0401 KOps/s 77.0098 KOps/s $\color{#35bf28}+1.34\%$
test_getitem[int] 1.5372ms 14.5286μs 68.8295 KOps/s 68.7811 KOps/s $\color{#35bf28}+0.07\%$
test_getitem[slice_int] 0.1346ms 24.8086μs 40.3086 KOps/s 41.9429 KOps/s $\color{#d91a1a}-3.90\%$
test_getitem[range] 0.1866ms 66.5354μs 15.0296 KOps/s 15.9153 KOps/s $\textbf{\color{#d91a1a}-5.57\%}$
test_getitem[tuple] 0.1439ms 23.4107μs 42.7155 KOps/s 42.4280 KOps/s $\color{#35bf28}+0.68\%$
test_getitem[list] 0.1807ms 61.2409μs 16.3290 KOps/s 17.2408 KOps/s $\textbf{\color{#d91a1a}-5.29\%}$
test_setitem_dim[int] 49.3810μs 26.5426μs 37.6753 KOps/s 39.3125 KOps/s $\color{#d91a1a}-4.16\%$
test_setitem_dim[slice_int] 64.9320μs 42.7741μs 23.3786 KOps/s 23.6595 KOps/s $\color{#d91a1a}-1.19\%$
test_setitem_dim[range] 0.1256ms 99.0239μs 10.0986 KOps/s 10.7826 KOps/s $\textbf{\color{#d91a1a}-6.34\%}$
test_setitem_dim[tuple] 68.4320μs 39.9811μs 25.0118 KOps/s 26.1370 KOps/s $\color{#d91a1a}-4.30\%$
test_setitem 52.3810μs 18.2109μs 54.9122 KOps/s 58.5164 KOps/s $\textbf{\color{#d91a1a}-6.16\%}$
test_set 39.0610μs 17.4293μs 57.3746 KOps/s 59.8097 KOps/s $\color{#d91a1a}-4.07\%$
test_set_shared 0.4993ms 0.2090ms 4.7840 KOps/s 4.9814 KOps/s $\color{#d91a1a}-3.96\%$
test_update 0.1961ms 20.9302μs 47.7778 KOps/s 46.3060 KOps/s $\color{#35bf28}+3.18\%$
test_update_nested 74.3710μs 32.5089μs 30.7608 KOps/s 30.0567 KOps/s $\color{#35bf28}+2.34\%$
test_update__nested 0.4644ms 32.3817μs 30.8817 KOps/s 30.7794 KOps/s $\color{#35bf28}+0.33\%$
test_set_nested 94.8020μs 18.3371μs 54.5342 KOps/s 53.8313 KOps/s $\color{#35bf28}+1.31\%$
test_set_nested_new 57.2010μs 22.9812μs 43.5138 KOps/s 43.6489 KOps/s $\color{#d91a1a}-0.31\%$
test_select 77.6420μs 38.8413μs 25.7458 KOps/s 25.1670 KOps/s $\color{#35bf28}+2.30\%$
test_select_nested 0.1106ms 71.1810μs 14.0487 KOps/s 13.9857 KOps/s $\color{#35bf28}+0.45\%$
test_exclude_nested 0.1404ms 87.8656μs 11.3810 KOps/s 11.4323 KOps/s $\color{#d91a1a}-0.45\%$
test_empty[True] 0.4273ms 0.3911ms 2.5567 KOps/s 2.5913 KOps/s $\color{#d91a1a}-1.33\%$
test_empty[False] 7.7802μs 1.3381μs 747.3416 KOps/s 760.3303 KOps/s $\color{#d91a1a}-1.71\%$
test_to 0.1057ms 66.0650μs 15.1366 KOps/s 14.6587 KOps/s $\color{#35bf28}+3.26\%$
test_to_nonblocking 0.1054ms 66.8579μs 14.9571 KOps/s 15.0420 KOps/s $\color{#d91a1a}-0.56\%$
test_unbind_speed 0.3637ms 0.3215ms 3.1101 KOps/s 3.0923 KOps/s $\color{#35bf28}+0.58\%$
test_unbind_speed_stack0 0.3768ms 0.3168ms 3.1569 KOps/s 3.1350 KOps/s $\color{#35bf28}+0.70\%$
test_unbind_speed_stack1 0.8480ms 0.7451ms 1.3421 KOps/s 1.2021 KOps/s $\textbf{\color{#35bf28}+11.64\%}$
test_split 1.1914ms 1.0890ms 918.2585 Ops/s 734.3957 Ops/s $\textbf{\color{#35bf28}+25.04\%}$
test_chunk 0.1149s 1.1790ms 848.1507 Ops/s 953.7849 Ops/s $\textbf{\color{#d91a1a}-11.08\%}$
test_to_cpu_blocking 20.0564ms 19.4587ms 51.3909 Ops/s 50.7082 Ops/s $\color{#35bf28}+1.35\%$
test_to_cpu_global_sync 11.7818ms 11.6337ms 85.9572 Ops/s 85.4632 Ops/s $\color{#35bf28}+0.58\%$
test_to_cpu_event_sync 0.1279s 13.9629ms 71.6182 Ops/s 79.6894 Ops/s $\textbf{\color{#d91a1a}-10.13\%}$
test_to_cpu_default 12.8231ms 12.5235ms 79.8501 Ops/s 70.8955 Ops/s $\textbf{\color{#35bf28}+12.63\%}$
test_consolidate[False-None] 4.0931ms 3.9930ms 250.4377 Ops/s 251.2424 Ops/s $\color{#d91a1a}-0.32\%$
test_consolidate[default-None] 2.0789ms 1.9542ms 511.7259 Ops/s 495.1495 Ops/s $\color{#35bf28}+3.35\%$
test_consolidate[reduce-overhead-None] 2.0641ms 1.8637ms 536.5813 Ops/s 517.9739 Ops/s $\color{#35bf28}+3.59\%$
test_consolidate_njt[False-None] 8.8667ms 8.7105ms 114.8036 Ops/s 119.3827 Ops/s $\color{#d91a1a}-3.84\%$
test_to[False-False-None] 2.2512ms 2.1541ms 464.2351 Ops/s 468.8320 Ops/s $\color{#d91a1a}-0.98\%$
test_to[True-False-None] 2.0187ms 1.8490ms 540.8352 Ops/s 541.8803 Ops/s $\color{#d91a1a}-0.19\%$
test_to[within-False-None] 0.2046s 7.1462ms 139.9339 Ops/s 168.3399 Ops/s $\textbf{\color{#d91a1a}-16.87\%}$
test_to[True-default-None] 10.5705ms 10.3622ms 96.5050 Ops/s 94.2421 Ops/s $\color{#35bf28}+2.40\%$
test_to_njt[False-False-None] 8.7694ms 8.3218ms 120.1664 Ops/s 116.3861 Ops/s $\color{#35bf28}+3.25\%$
test_to_njt[True-False-None] 7.2217ms 6.8689ms 145.5829 Ops/s 145.4119 Ops/s $\color{#35bf28}+0.12\%$
test_to_njt[within-False-None] 15.8541ms 15.0565ms 66.4166 Ops/s 65.1228 Ops/s $\color{#35bf28}+1.99\%$
test_creation[device0] 0.5316ms 0.1149ms 8.7060 KOps/s 8.6573 KOps/s $\color{#35bf28}+0.56\%$
test_creation_from_tensor 0.3474ms 0.1153ms 8.6756 KOps/s 8.8176 KOps/s $\color{#d91a1a}-1.61\%$
test_add_one[memmap_tensor0] 0.1560ms 6.5962μs 151.6028 KOps/s 145.1804 KOps/s $\color{#35bf28}+4.42\%$
test_contiguous[memmap_tensor0] 27.2710μs 0.5978μs 1.6727 MOps/s 2.3272 MOps/s $\textbf{\color{#d91a1a}-28.13\%}$
test_stack[memmap_tensor0] 33.8010μs 4.0971μs 244.0726 KOps/s 241.1130 KOps/s $\color{#35bf28}+1.23\%$
test_memmaptd_index 1.1530ms 0.2645ms 3.7802 KOps/s 3.7702 KOps/s $\color{#35bf28}+0.27\%$
test_memmaptd_index_astensor 0.5044ms 0.3642ms 2.7455 KOps/s 2.7455 KOps/s $-0.00\%$
test_memmaptd_index_op 0.8204ms 0.6277ms 1.5931 KOps/s 1.5916 KOps/s $\color{#35bf28}+0.09\%$
test_serialize_model 0.1366s 0.1336s 7.4862 Ops/s 7.4052 Ops/s $\color{#35bf28}+1.09\%$
test_serialize_model_pickle 1.3482s 1.2096s 0.8267 Ops/s 0.8267 Ops/s $+0.01\%$
test_serialize_weights 0.1354s 0.1334s 7.4946 Ops/s 7.4756 Ops/s $\color{#35bf28}+0.25\%$
test_serialize_weights_returnearly 0.4625s 86.0573ms 11.6202 Ops/s 6.4503 Ops/s $\textbf{\color{#35bf28}+80.15\%}$
test_serialize_weights_pickle 1.3474s 1.2096s 0.8267 Ops/s 0.8213 Ops/s $\color{#35bf28}+0.66\%$
test_reshape_pytree 0.2157ms 31.1183μs 32.1355 KOps/s 31.8353 KOps/s $\color{#35bf28}+0.94\%$
test_reshape_td 74.4220μs 42.6993μs 23.4196 KOps/s 23.7064 KOps/s $\color{#d91a1a}-1.21\%$
test_view_pytree 0.2256ms 30.7498μs 32.5205 KOps/s 32.0073 KOps/s $\color{#35bf28}+1.60\%$
test_view_td 98.2420μs 50.0701μs 19.9720 KOps/s 19.8205 KOps/s $\color{#35bf28}+0.76\%$
test_unbind_pytree 0.2341ms 37.1106μs 26.9465 KOps/s 27.5851 KOps/s $\color{#d91a1a}-2.32\%$
test_unbind_td 91.3720μs 47.9317μs 20.8630 KOps/s 20.6805 KOps/s $\color{#35bf28}+0.88\%$
test_split_pytree 0.2380ms 41.4866μs 24.1042 KOps/s 24.1270 KOps/s $\color{#d91a1a}-0.09\%$
test_split_td 0.1554ms 62.3951μs 16.0269 KOps/s 15.7480 KOps/s $\color{#35bf28}+1.77\%$
test_add_pytree 0.1902ms 42.4734μs 23.5441 KOps/s 24.2708 KOps/s $\color{#d91a1a}-2.99\%$
test_add_td 0.1055ms 57.8627μs 17.2823 KOps/s 18.2461 KOps/s $\textbf{\color{#d91a1a}-5.28\%}$
test_compile_add_one_nested[tensordict-compile] 0.3833ms 0.2151ms 4.6485 KOps/s 4.2922 KOps/s $\textbf{\color{#35bf28}+8.30\%}$
test_compile_add_one_nested[tensordict-eager] 0.4160ms 0.2116ms 4.7259 KOps/s 5.1512 KOps/s $\textbf{\color{#d91a1a}-8.26\%}$
test_compile_add_one_nested[pytree-compile] 0.3007ms 0.1299ms 7.6998 KOps/s 7.1233 KOps/s $\textbf{\color{#35bf28}+8.09\%}$
test_compile_add_one_nested[pytree-eager] 0.4175ms 0.1744ms 5.7337 KOps/s 5.5889 KOps/s $\color{#35bf28}+2.59\%$
test_compile_copy_nested[tensordict-compile] 66.3120μs 14.9627μs 66.8330 KOps/s 67.7605 KOps/s $\color{#d91a1a}-1.37\%$
test_compile_copy_nested[tensordict-eager] 0.2076ms 50.5009μs 19.8016 KOps/s 19.3627 KOps/s $\color{#35bf28}+2.27\%$
test_compile_copy_nested[pytree-compile] 0.1614ms 15.1281μs 66.1020 KOps/s 62.7653 KOps/s $\textbf{\color{#35bf28}+5.32\%}$
test_compile_copy_nested[pytree-eager] 0.3628ms 65.0911μs 15.3631 KOps/s 15.4955 KOps/s $\color{#d91a1a}-0.85\%$
test_compile_add_one_flat[tensordict-compile] 0.3733ms 0.2421ms 4.1307 KOps/s 3.9033 KOps/s $\textbf{\color{#35bf28}+5.83\%}$
test_compile_add_one_flat[tensordict-eager] 0.4414ms 0.2790ms 3.5847 KOps/s 3.5884 KOps/s $\color{#d91a1a}-0.10\%$
test_compile_add_one_flat[tensorclass-compile] 0.2509ms 0.1785ms 5.6020 KOps/s 5.2523 KOps/s $\textbf{\color{#35bf28}+6.66\%}$
test_compile_add_one_flat[tensorclass-eager] 0.1190ms 73.6904μs 13.5703 KOps/s 13.4692 KOps/s $\color{#35bf28}+0.75\%$
test_compile_add_one_flat[pytree-compile] 0.5902ms 0.1865ms 5.3605 KOps/s 5.1322 KOps/s $\color{#35bf28}+4.45\%$
test_compile_add_one_flat[pytree-eager] 0.8045ms 0.5112ms 1.9563 KOps/s 1.9167 KOps/s $\color{#35bf28}+2.07\%$
test_compile_add_self_flat[tensordict-eager] 0.3884ms 0.3270ms 3.0580 KOps/s 3.0376 KOps/s $\color{#35bf28}+0.67\%$
test_compile_add_self_flat[tensordict-compile] 0.5777ms 0.2429ms 4.1171 KOps/s 3.7183 KOps/s $\textbf{\color{#35bf28}+10.72\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1338ms 91.4489μs 10.9351 KOps/s 10.6861 KOps/s $\color{#35bf28}+2.33\%$
test_compile_add_self_flat[tensorclass-compile] 0.8215ms 0.1799ms 5.5599 KOps/s 5.0202 KOps/s $\textbf{\color{#35bf28}+10.75\%}$
test_compile_add_self_flat[pytree-eager] 0.6259ms 0.4170ms 2.3979 KOps/s 2.2935 KOps/s $\color{#35bf28}+4.55\%$
test_compile_add_self_flat[pytree-compile] 0.4134ms 0.1870ms 5.3478 KOps/s 4.8653 KOps/s $\textbf{\color{#35bf28}+9.92\%}$
test_compile_copy_flat[tensordict-compile] 62.1210μs 19.2375μs 51.9819 KOps/s 49.7488 KOps/s $\color{#35bf28}+4.49\%$
test_compile_copy_flat[tensordict-eager] 69.6910μs 40.5848μs 24.6397 KOps/s 25.4600 KOps/s $\color{#d91a1a}-3.22\%$
test_compile_copy_flat[pytree-compile] 0.2367ms 21.0038μs 47.6104 KOps/s 45.1208 KOps/s $\textbf{\color{#35bf28}+5.52\%}$
test_compile_copy_flat[pytree-eager] 0.3315ms 51.1174μs 19.5628 KOps/s 19.8586 KOps/s $\color{#d91a1a}-1.49\%$
test_compile_assign_and_add[tensordict-compile] 2.0935ms 0.2301ms 4.3457 KOps/s 3.9876 KOps/s $\textbf{\color{#35bf28}+8.98\%}$
test_compile_assign_and_add[tensordict-eager] 3.5632ms 3.2610ms 306.6563 Ops/s 308.0002 Ops/s $\color{#d91a1a}-0.44\%$
test_compile_assign_and_add[pytree-compile] 1.9866ms 0.1743ms 5.7373 KOps/s 5.5301 KOps/s $\color{#35bf28}+3.75\%$
test_compile_assign_and_add[pytree-eager] 3.0444ms 2.8208ms 354.5106 Ops/s 368.6326 Ops/s $\color{#d91a1a}-3.83\%$
test_compile_indexing[tensor-tensordict-compile] 0.2407ms 0.1340ms 7.4618 KOps/s 7.1057 KOps/s $\textbf{\color{#35bf28}+5.01\%}$
test_compile_indexing[tensor-tensordict-eager] 0.3088ms 72.1049μs 13.8687 KOps/s 13.5930 KOps/s $\color{#35bf28}+2.03\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2306ms 0.1136ms 8.8002 KOps/s 8.3644 KOps/s $\textbf{\color{#35bf28}+5.21\%}$
test_compile_indexing[tensor-tensorclass-eager] 0.2508ms 43.6242μs 22.9231 KOps/s 22.5306 KOps/s $\color{#35bf28}+1.74\%$
test_compile_indexing[tensor-pytree-compile] 0.1838ms 0.1158ms 8.6354 KOps/s 8.1877 KOps/s $\textbf{\color{#35bf28}+5.47\%}$
test_compile_indexing[tensor-pytree-eager] 0.2301ms 43.6464μs 22.9114 KOps/s 22.1834 KOps/s $\color{#35bf28}+3.28\%$
test_compile_indexing[slice-tensordict-compile] 0.2344ms 80.0647μs 12.4899 KOps/s 12.0840 KOps/s $\color{#35bf28}+3.36\%$
test_compile_indexing[slice-tensordict-eager] 0.2012ms 27.0174μs 37.0132 KOps/s 36.6883 KOps/s $\color{#35bf28}+0.89\%$
test_compile_indexing[slice-tensorclass-compile] 0.2323ms 67.7585μs 14.7583 KOps/s 14.6649 KOps/s $\color{#35bf28}+0.64\%$
test_compile_indexing[slice-tensorclass-eager] 0.2383ms 21.4031μs 46.7223 KOps/s 45.7279 KOps/s $\color{#35bf28}+2.17\%$
test_compile_indexing[slice-pytree-compile] 0.1231ms 68.3329μs 14.6342 KOps/s 14.3283 KOps/s $\color{#35bf28}+2.14\%$
test_compile_indexing[slice-pytree-eager] 0.2574ms 21.4101μs 46.7069 KOps/s 45.2566 KOps/s $\color{#35bf28}+3.20\%$
test_compile_indexing[int-tensordict-compile] 0.1458ms 80.9791μs 12.3489 KOps/s 12.0999 KOps/s $\color{#35bf28}+2.06\%$
test_compile_indexing[int-tensordict-eager] 0.2852ms 26.7925μs 37.3238 KOps/s 35.3050 KOps/s $\textbf{\color{#35bf28}+5.72\%}$
test_compile_indexing[int-tensorclass-compile] 0.1149ms 67.5717μs 14.7991 KOps/s 14.3671 KOps/s $\color{#35bf28}+3.01\%$
test_compile_indexing[int-tensorclass-eager] 0.2430ms 21.3343μs 46.8728 KOps/s 45.6221 KOps/s $\color{#35bf28}+2.74\%$
test_compile_indexing[int-pytree-compile] 0.1065ms 68.7028μs 14.5554 KOps/s 14.3117 KOps/s $\color{#35bf28}+1.70\%$
test_compile_indexing[int-pytree-eager] 0.2396ms 21.4756μs 46.5644 KOps/s 45.7561 KOps/s $\color{#35bf28}+1.77\%$
test_compile_replace[single-eager] 88.0020μs 47.3084μs 21.1379 KOps/s 20.9266 KOps/s $\color{#35bf28}+1.01\%$
test_compile_replace[single-compile] 0.2203ms 0.1249ms 8.0048 KOps/s 7.8812 KOps/s $\color{#35bf28}+1.57\%$
test_compile_replace[multi-eager] 0.6172ms 0.5545ms 1.8034 KOps/s 1.7928 KOps/s $\color{#35bf28}+0.60\%$
test_compile_replace[multi-compile] 0.3009ms 0.1326ms 7.5398 KOps/s 7.4012 KOps/s $\color{#35bf28}+1.87\%$
test_compile_tc_getattr_20[eager] 0.2415ms 0.1582ms 6.3219 KOps/s 6.1929 KOps/s $\color{#35bf28}+2.08\%$
test_compile_tc_getattr_20[compile] 0.3473ms 0.1420ms 7.0441 KOps/s 6.9188 KOps/s $\color{#35bf28}+1.81\%$
test_compile_clone_shallow[20-eager] 80.5220μs 18.6930μs 53.4958 KOps/s 53.9457 KOps/s $\color{#d91a1a}-0.83\%$
test_compile_clone_shallow[20-compile] 76.2220μs 16.6228μs 60.1583 KOps/s 51.6577 KOps/s $\textbf{\color{#35bf28}+16.46\%}$
test_compile_clone_shallow[40-eager] 80.3820μs 32.8763μs 30.4170 KOps/s 30.7541 KOps/s $\color{#d91a1a}-1.10\%$
test_compile_clone_shallow[40-compile] 67.9220μs 18.3473μs 54.5041 KOps/s 54.5576 KOps/s $\color{#d91a1a}-0.10\%$
test_compile_clone_shallow[80-eager] 0.1117ms 61.4990μs 16.2604 KOps/s 16.8035 KOps/s $\color{#d91a1a}-3.23\%$
test_compile_clone_shallow[80-compile] 0.1019ms 20.4862μs 48.8134 KOps/s 44.2881 KOps/s $\textbf{\color{#35bf28}+10.22\%}$
test_compile_update_inplace[eager] 0.2089ms 59.5437μs 16.7944 KOps/s 16.8449 KOps/s $\color{#d91a1a}-0.30\%$
test_compile_update_inplace[compile] 0.3239ms 0.1406ms 7.1133 KOps/s 6.7874 KOps/s $\color{#35bf28}+4.80\%$
test_mod_add[eager] 0.2715ms 0.2215ms 4.5137 KOps/s 4.3560 KOps/s $\color{#35bf28}+3.62\%$
test_mod_add[compile] 0.3243ms 0.1283ms 7.7967 KOps/s 7.3352 KOps/s $\textbf{\color{#35bf28}+6.29\%}$
test_mod_add[compile-overhead] 0.3648ms 0.1728ms 5.7873 KOps/s 5.7135 KOps/s $\color{#35bf28}+1.29\%$
test_mod_wrap[eager] 0.6121ms 0.4587ms 2.1800 KOps/s 2.0976 KOps/s $\color{#35bf28}+3.93\%$
test_mod_wrap[compile] 0.4764ms 0.3854ms 2.5947 KOps/s 2.5475 KOps/s $\color{#35bf28}+1.85\%$
test_mod_wrap[compile-overhead] 10.0739ms 4.6339ms 215.8017 Ops/s 232.5965 Ops/s $\textbf{\color{#d91a1a}-7.22\%}$
test_mod_wrap_and_backward[eager] 1.8599ms 1.6638ms 601.0450 Ops/s 588.2169 Ops/s $\color{#35bf28}+2.18\%$
test_mod_wrap_and_backward[compile] 2.7407ms 1.6027ms 623.9298 Ops/s 658.5886 Ops/s $\textbf{\color{#d91a1a}-5.26\%}$
test_mod_wrap_and_backward[compile-overhead] 1.2882ms 0.9176ms 1.0897 KOps/s 1.0532 KOps/s $\color{#35bf28}+3.47\%$
test_seq_add[eager] 0.5841ms 0.4952ms 2.0192 KOps/s 2.0276 KOps/s $\color{#d91a1a}-0.41\%$
test_seq_add[compile] 0.2249ms 0.1447ms 6.9131 KOps/s 7.0602 KOps/s $\color{#d91a1a}-2.08\%$
test_seq_add[compile-overhead] 0.3138ms 0.1778ms 5.6254 KOps/s 5.3779 KOps/s $\color{#35bf28}+4.60\%$
test_seq_wrap[eager] 1.4454ms 1.3756ms 726.9530 Ops/s 728.8790 Ops/s $\color{#d91a1a}-0.26\%$
test_seq_wrap[compile] 0.4592ms 0.3980ms 2.5124 KOps/s 2.3579 KOps/s $\textbf{\color{#35bf28}+6.55\%}$
test_seq_wrap[compile-overhead] 0.3993ms 0.2949ms 3.3913 KOps/s 3.2868 KOps/s $\color{#35bf28}+3.18\%$
test_func_call_runtime[False-eager] 0.8753ms 0.7920ms 1.2627 KOps/s 1.2717 KOps/s $\color{#d91a1a}-0.71\%$
test_func_call_runtime[False-compile] 1.0488ms 0.9459ms 1.0572 KOps/s 1.0372 KOps/s $\color{#35bf28}+1.93\%$
test_func_call_runtime[False-compile-overhead] 0.6459ms 0.4906ms 2.0382 KOps/s 2.0042 KOps/s $\color{#35bf28}+1.70\%$
test_func_call_runtime[True-eager] 1.1038ms 1.0197ms 980.6888 Ops/s 971.5731 Ops/s $\color{#35bf28}+0.94\%$
test_func_call_runtime[True-compile] 1.1000ms 0.9768ms 1.0238 KOps/s 1.0251 KOps/s $\color{#d91a1a}-0.13\%$
test_func_call_runtime[True-compile-overhead] 0.5863ms 0.5066ms 1.9741 KOps/s 1.9332 KOps/s $\color{#35bf28}+2.11\%$
test_func_call_cm_runtime[False-eager] 0.9263ms 0.7894ms 1.2668 KOps/s 1.2094 KOps/s $\color{#35bf28}+4.75\%$
test_func_call_cm_runtime[False-compile] 1.0881ms 0.9330ms 1.0718 KOps/s 1.0239 KOps/s $\color{#35bf28}+4.68\%$
test_func_call_cm_runtime[False-compile-overhead] 0.6284ms 0.4687ms 2.1335 KOps/s 2.0797 KOps/s $\color{#35bf28}+2.58\%$
test_func_call_cm_runtime[True-eager] 1.2788ms 1.1564ms 864.7312 Ops/s 863.7905 Ops/s $\color{#35bf28}+0.11\%$
test_func_call_cm_runtime[True-compile] 1.0634ms 0.9794ms 1.0210 KOps/s 1.0060 KOps/s $\color{#35bf28}+1.49\%$
test_func_call_cm_runtime[True-compile-overhead] 0.5821ms 0.5199ms 1.9236 KOps/s 1.8709 KOps/s $\color{#35bf28}+2.82\%$
test_vmap_func_call_cm_runtime[eager] 2.8024ms 2.3438ms 426.6646 Ops/s 426.2531 Ops/s $\color{#35bf28}+0.10\%$
test_vmap_func_call_cm_runtime[compile] 1.1230ms 1.0293ms 971.5031 Ops/s 992.2133 Ops/s $\color{#d91a1a}-2.09\%$
test_vmap_func_call_cm_runtime[compile-overhead] 0.5848ms 0.5129ms 1.9496 KOps/s 1.9015 KOps/s $\color{#35bf28}+2.53\%$
test_distributed 0.9536ms 0.1506ms 6.6400 KOps/s 5.8596 KOps/s $\textbf{\color{#35bf28}+13.32\%}$
test_tdmodule 0.2325ms 0.1976ms 5.0612 KOps/s 5.2286 KOps/s $\color{#d91a1a}-3.20\%$
test_tdmodule_dispatch 0.4362ms 0.3820ms 2.6177 KOps/s 2.7346 KOps/s $\color{#d91a1a}-4.27\%$
test_tdseq 45.0120μs 26.3707μs 37.9209 KOps/s 37.9775 KOps/s $\color{#d91a1a}-0.15\%$
test_tdseq_dispatch 0.2718ms 0.2102ms 4.7580 KOps/s 4.7250 KOps/s $\color{#35bf28}+0.70\%$
test_instantiation_functorch 2.0531ms 1.9871ms 503.2376 Ops/s 501.7310 Ops/s $\color{#35bf28}+0.30\%$
test_exec_functorch 0.2159ms 0.1786ms 5.6002 KOps/s 5.5376 KOps/s $\color{#35bf28}+1.13\%$
test_exec_functional_call 0.2350ms 0.1566ms 6.3862 KOps/s 6.3015 KOps/s $\color{#35bf28}+1.34\%$
test_exec_td_decorator 0.4593ms 0.2322ms 4.3062 KOps/s 4.3008 KOps/s $\color{#35bf28}+0.13\%$
test_vmap_mlp_speed_decorator[True-True] 1.1808ms 0.9983ms 1.0018 KOps/s 994.7173 Ops/s $\color{#35bf28}+0.71\%$
test_vmap_mlp_speed_decorator[True-False] 1.1463ms 0.9872ms 1.0129 KOps/s 1.0061 KOps/s $\color{#35bf28}+0.68\%$
test_vmap_mlp_speed_decorator[False-True] 0.9050ms 0.7146ms 1.3993 KOps/s 1.3820 KOps/s $\color{#35bf28}+1.25\%$
test_vmap_mlp_speed_decorator[False-False] 0.8719ms 0.6999ms 1.4287 KOps/s 1.3954 KOps/s $\color{#35bf28}+2.38\%$
test_vmap_transformer_speed_decorator[True-True] 20.7812ms 20.5280ms 48.7141 Ops/s 47.6538 Ops/s $\color{#35bf28}+2.22\%$
test_vmap_transformer_speed_decorator[True-False] 21.2426ms 20.5636ms 48.6295 Ops/s 48.1019 Ops/s $\color{#35bf28}+1.10\%$
test_vmap_transformer_speed_decorator[False-True] 20.7575ms 20.2032ms 49.4972 Ops/s 49.1592 Ops/s $\color{#35bf28}+0.69\%$
test_vmap_transformer_speed_decorator[False-False] 20.9857ms 20.2733ms 49.3260 Ops/s 49.2512 Ops/s $\color{#35bf28}+0.15\%$
test_to_module_speed[True] 1.6298ms 1.4241ms 702.2067 Ops/s 703.7210 Ops/s $\color{#d91a1a}-0.22\%$
test_to_module_speed[False] 1.4637ms 1.3765ms 726.4998 Ops/s 721.5128 Ops/s $\color{#35bf28}+0.69\%$
test_tc_init 81.1620μs 41.8371μs 23.9022 KOps/s 24.0099 KOps/s $\color{#d91a1a}-0.45\%$
test_tc_init_tensor_only 76.0720μs 8.4792μs 117.9357 KOps/s 116.9582 KOps/s $\color{#35bf28}+0.84\%$
test_tc_init_nested 0.1328ms 83.1310μs 12.0292 KOps/s 12.1195 KOps/s $\color{#d91a1a}-0.74\%$
test_tc_init_many_fields 37.9510μs 14.3773μs 69.5542 KOps/s 71.2434 KOps/s $\color{#d91a1a}-2.37\%$
test_tc_first_layer_tensor 30.5010μs 1.6904μs 591.5678 KOps/s 590.4681 KOps/s $\color{#35bf28}+0.19\%$
test_tc_first_layer_tensor_only 3.7320μs 0.3877μs 2.5794 MOps/s 2.5853 MOps/s $\color{#d91a1a}-0.23\%$
test_tc_first_layer_tensor_set 34.9500μs 3.6553μs 273.5789 KOps/s 269.8531 KOps/s $\color{#35bf28}+1.38\%$
test_tc_first_layer_tensor_only_set 30.5100μs 3.0879μs 323.8483 KOps/s 322.2991 KOps/s $\color{#35bf28}+0.48\%$
test_tc_first_layer_nontensor 43.2910μs 5.4736μs 182.6949 KOps/s 174.8805 KOps/s $\color{#35bf28}+4.47\%$
test_tc_second_layer_tensor 25.3610μs 4.1062μs 243.5365 KOps/s 235.9195 KOps/s $\color{#35bf28}+3.23\%$
test_tc_second_layer_nontensor 38.5310μs 8.1148μs 123.2318 KOps/s 122.1146 KOps/s $\color{#35bf28}+0.91\%$
test_unbind 0.2767s 12.7098ms 78.6797 Ops/s 73.2355 Ops/s $\textbf{\color{#35bf28}+7.43\%}$
test_full_like 4.5125ms 4.3792ms 228.3501 Ops/s 228.1806 Ops/s $\color{#35bf28}+0.07\%$
test_zeros_like 4.4978ms 4.3613ms 229.2882 Ops/s 229.0757 Ops/s $\color{#35bf28}+0.09\%$
test_ones_like 4.4958ms 4.3660ms 229.0445 Ops/s 228.6221 Ops/s $\color{#35bf28}+0.18\%$
test_clone 6.7029ms 6.4850ms 154.2030 Ops/s 154.6583 Ops/s $\color{#d91a1a}-0.29\%$
test_squeeze 62.9910μs 13.2400μs 75.5286 KOps/s 74.5739 KOps/s $\color{#35bf28}+1.28\%$
test_unsqueeze 0.1615ms 0.1113ms 8.9860 KOps/s 9.2036 KOps/s $\color{#d91a1a}-2.36\%$
test_split 0.4052ms 0.1765ms 5.6653 KOps/s 5.7283 KOps/s $\color{#d91a1a}-1.10\%$
test_permute 0.2613ms 0.2090ms 4.7836 KOps/s 5.0326 KOps/s $\color{#d91a1a}-4.95\%$
test_stack 18.6772ms 18.2292ms 54.8569 Ops/s 19.4023 Ops/s $\textbf{\color{#35bf28}+182.73\%}$
test_cat 18.5008ms 18.1567ms 55.0760 Ops/s 19.3988 Ops/s $\textbf{\color{#35bf28}+183.91\%}$
test_sequential_tensordict 0.9430ms 0.5705ms 1.7529 KOps/s 1.7783 KOps/s $\color{#d91a1a}-1.43\%$
test_sequential_graph_module 0.5298ms 0.1165ms 8.5864 KOps/s 8.6776 KOps/s $\color{#d91a1a}-1.05\%$
test_nested_tensordict 0.8824ms 0.8346ms 1.1982 KOps/s 1.2568 KOps/s $\color{#d91a1a}-4.66\%$
test_nested_graph_module 0.1933ms 0.1294ms 7.7284 KOps/s 7.8643 KOps/s $\color{#d91a1a}-1.73\%$

[ghstack-poisoned]
vmoens added a commit that referenced this pull request May 24, 2026
A TensorDict built via the public ``TensorDict(...)`` constructor inside a
compiled region skipped ``_set_names`` (guarded on ``not is_compiling()``)
and so never wrote ``_td_dim_names`` to ``self.__dict__``. A sibling TD
coming from ``_new_unsafe`` always did. When both kinds flowed through
the same compiled function, Dynamo specialized on
``not ___dict_contains('_td_dim_names', __dict__)`` and recompiled.

Set ``self._td_dim_names = None`` unconditionally before the
``_set_names`` branch in ``TensorDict.__init__`` so the attribute is
always on the instance, matching ``_new_unsafe``. No behavior change in
eager mode (``_set_names`` overwrites it).

Adds a guard-count test asserting that a TD built inside a compiled
function and a TD built eagerly do not produce different recompiles when
fed into the same compiled function.

Authored with Claude.

Co-authored-by: Cursor <cursoragent@cursor.com>
ghstack-source-id: 277ecc7
Pull-Request: #1713
@vmoens
vmoens merged commit 498a30b into gh/vmoens/93/base May 24, 2026
27 of 44 checks passed
@vmoens
vmoens deleted the gh/vmoens/93/head branch May 24, 2026 14:42
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. Compile torch.compile related Test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant