Skip to content

[Feature] Add from_tensordict and from_redis classmethods to RedisTensorDict#1568

Open
vmoens wants to merge 1 commit intogh/vmoens/54/basefrom
gh/vmoens/54/head
Open

[Feature] Add from_tensordict and from_redis classmethods to RedisTensorDict#1568
vmoens wants to merge 1 commit intogh/vmoens/54/basefrom
gh/vmoens/54/head

Conversation

@vmoens
Copy link
Collaborator

@vmoens vmoens commented Feb 14, 2026

Stack from ghstack (oldest at bottom):

Adds two convenience classmethods for common construction patterns:

  • from_tensordict(td, host=...): Upload a local TensorDict to Redis in
    one call, preserving batch_size and device.

  • from_redis(td_id=..., host=...): Reconnect to an existing
    RedisTensorDict on a (potentially remote) Redis server by its td_id.
    Reads batch_size and device from stored metadata. This is the
    cross-node entry point: one process writes, another calls from_redis
    with the same td_id to read the data.

[ghstack-poisoned]
@github-actions
Copy link
Contributor

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

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

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_plain_set_nested 34.9010μs 14.3190μs 69.8372 KOps/s 69.3978 KOps/s $\color{#35bf28}+0.63\%$
test_plain_set_stack_nested 41.0610μs 14.5739μs 68.6158 KOps/s 68.6389 KOps/s $\color{#d91a1a}-0.03\%$
test_plain_set_nested_inplace 37.3200μs 16.1005μs 62.1098 KOps/s 62.0883 KOps/s $\color{#35bf28}+0.03\%$
test_plain_set_stack_nested_inplace 46.5910μs 15.9904μs 62.5374 KOps/s 62.9968 KOps/s $\color{#d91a1a}-0.73\%$
test_items 30.8510μs 5.6426μs 177.2241 KOps/s 178.0885 KOps/s $\color{#d91a1a}-0.49\%$
test_items_nested 0.5606ms 0.5132ms 1.9487 KOps/s 1.9453 KOps/s $\color{#35bf28}+0.17\%$
test_items_nested_locked 0.5690ms 0.5131ms 1.9490 KOps/s 1.9309 KOps/s $\color{#35bf28}+0.94\%$
test_items_nested_leaf 0.1299ms 91.2989μs 10.9530 KOps/s 10.7959 KOps/s $\color{#35bf28}+1.46\%$
test_items_stack_nested 0.5776ms 0.5179ms 1.9308 KOps/s 1.9382 KOps/s $\color{#d91a1a}-0.38\%$
test_items_stack_nested_leaf 0.1241ms 90.8695μs 11.0048 KOps/s 10.8495 KOps/s $\color{#35bf28}+1.43\%$
test_items_stack_nested_locked 0.6439ms 0.5256ms 1.9026 KOps/s 1.9167 KOps/s $\color{#d91a1a}-0.74\%$
test_keys 45.0910μs 4.3966μs 227.4509 KOps/s 242.3942 KOps/s $\textbf{\color{#d91a1a}-6.16\%}$
test_keys_nested 0.1690ms 0.1172ms 8.5346 KOps/s 8.4407 KOps/s $\color{#35bf28}+1.11\%$
test_keys_nested_locked 89.0563ms 0.1379ms 7.2538 KOps/s 7.8953 KOps/s $\textbf{\color{#d91a1a}-8.12\%}$
test_keys_nested_leaf 0.1553ms 0.1082ms 9.2419 KOps/s 9.1591 KOps/s $\color{#35bf28}+0.90\%$
test_keys_stack_nested 0.1872ms 0.1173ms 8.5231 KOps/s 8.4331 KOps/s $\color{#35bf28}+1.07\%$
test_keys_stack_nested_leaf 0.1695ms 0.1071ms 9.3329 KOps/s 9.1827 KOps/s $\color{#35bf28}+1.64\%$
test_keys_stack_nested_locked 0.1724ms 0.1262ms 7.9260 KOps/s 7.9023 KOps/s $\color{#35bf28}+0.30\%$
test_values 5.9000μs 0.9970μs 1.0030 MOps/s 1.0018 MOps/s $\color{#35bf28}+0.12\%$
test_values_nested 72.5610μs 46.6588μs 21.4322 KOps/s 21.4471 KOps/s $\color{#d91a1a}-0.07\%$
test_values_nested_locked 90.2620μs 49.5246μs 20.1920 KOps/s 20.3542 KOps/s $\color{#d91a1a}-0.80\%$
test_values_nested_leaf 83.8010μs 52.9691μs 18.8789 KOps/s 18.9644 KOps/s $\color{#d91a1a}-0.45\%$
test_values_stack_nested 85.8910μs 46.6884μs 21.4186 KOps/s 21.5128 KOps/s $\color{#d91a1a}-0.44\%$
test_values_stack_nested_leaf 0.1017ms 52.7406μs 18.9607 KOps/s 19.0611 KOps/s $\color{#d91a1a}-0.53\%$
test_values_stack_nested_locked 84.4620μs 49.6362μs 20.1466 KOps/s 20.3859 KOps/s $\color{#d91a1a}-1.17\%$
test_membership 5.3600μs 0.8117μs 1.2320 MOps/s 1.2425 MOps/s $\color{#d91a1a}-0.84\%$
test_membership_nested 33.5000μs 2.9687μs 336.8509 KOps/s 333.6984 KOps/s $\color{#35bf28}+0.94\%$
test_membership_nested_leaf 89.0520μs 2.8965μs 345.2446 KOps/s 334.0643 KOps/s $\color{#35bf28}+3.35\%$
test_membership_stacked_nested 36.8710μs 2.9919μs 334.2399 KOps/s 334.2249 KOps/s $+0.00\%$
test_membership_stacked_nested_leaf 22.6100μs 2.9990μs 333.4405 KOps/s 335.4639 KOps/s $\color{#d91a1a}-0.60\%$
test_membership_nested_last 31.6600μs 4.3972μs 227.4163 KOps/s 229.9516 KOps/s $\color{#d91a1a}-1.10\%$
test_membership_nested_leaf_last 50.8300μs 4.4062μs 226.9511 KOps/s 230.4468 KOps/s $\color{#d91a1a}-1.52\%$
test_membership_stacked_nested_last 43.1510μs 4.3494μs 229.9165 KOps/s 229.0725 KOps/s $\color{#35bf28}+0.37\%$
test_membership_stacked_nested_leaf_last 28.6400μs 4.3588μs 229.4214 KOps/s 228.4239 KOps/s $\color{#35bf28}+0.44\%$
test_nested_getleaf 64.4710μs 20.9415μs 47.7521 KOps/s 48.3133 KOps/s $\color{#d91a1a}-1.16\%$
test_nested_get 46.0210μs 19.8018μs 50.5005 KOps/s 50.0373 KOps/s $\color{#35bf28}+0.93\%$
test_stacked_getleaf 46.0110μs 20.6308μs 48.4711 KOps/s 47.8131 KOps/s $\color{#35bf28}+1.38\%$
test_stacked_get 47.0010μs 19.7013μs 50.7581 KOps/s 50.5943 KOps/s $\color{#35bf28}+0.32\%$
test_nested_getitemleaf 48.7210μs 21.3204μs 46.9034 KOps/s 46.3018 KOps/s $\color{#35bf28}+1.30\%$
test_nested_getitem 51.3310μs 20.2769μs 49.3171 KOps/s 49.5824 KOps/s $\color{#d91a1a}-0.54\%$
test_stacked_getitemleaf 48.1710μs 21.4198μs 46.6858 KOps/s 46.2052 KOps/s $\color{#35bf28}+1.04\%$
test_stacked_getitem 56.2510μs 20.2150μs 49.4682 KOps/s 48.7799 KOps/s $\color{#35bf28}+1.41\%$
test_lock_nested 7.7426ms 0.4575ms 2.1859 KOps/s 2.1742 KOps/s $\color{#35bf28}+0.54\%$
test_lock_stack_nested 0.6585ms 0.4577ms 2.1846 KOps/s 2.1621 KOps/s $\color{#35bf28}+1.04\%$
test_unlock_nested 0.4955ms 0.3644ms 2.7443 KOps/s 2.7020 KOps/s $\color{#35bf28}+1.57\%$
test_unlock_stack_nested 0.4110ms 0.3681ms 2.7166 KOps/s 2.6716 KOps/s $\color{#35bf28}+1.68\%$
test_flatten_speed 0.1617ms 0.1174ms 8.5175 KOps/s 8.5094 KOps/s $\color{#35bf28}+0.10\%$
test_unflatten_speed 0.6288ms 0.5627ms 1.7771 KOps/s 1.7502 KOps/s $\color{#35bf28}+1.54\%$
test_common_ops 0.8063ms 0.6725ms 1.4869 KOps/s 1.4645 KOps/s $\color{#35bf28}+1.53\%$
test_creation 95.3810μs 2.7355μs 365.5702 KOps/s 359.8227 KOps/s $\color{#35bf28}+1.60\%$
test_creation_empty 40.9710μs 5.7593μs 173.6325 KOps/s 172.8695 KOps/s $\color{#35bf28}+0.44\%$
test_creation_nested_1 35.4600μs 10.2951μs 97.1334 KOps/s 97.9879 KOps/s $\color{#d91a1a}-0.87\%$
test_creation_nested_2 39.0600μs 11.3092μs 88.4234 KOps/s 88.8897 KOps/s $\color{#d91a1a}-0.52\%$
test_creation_many_keys[10] 54.9810μs 16.9840μs 58.8790 KOps/s 58.6914 KOps/s $\color{#35bf28}+0.32\%$
test_creation_many_keys[50] 0.1196ms 72.7366μs 13.7482 KOps/s 13.7698 KOps/s $\color{#d91a1a}-0.16\%$
test_creation_many_keys[100] 0.1854ms 0.1422ms 7.0301 KOps/s 7.0865 KOps/s $\color{#d91a1a}-0.80\%$
test_creation_nested_many_keys[10] 70.9510μs 36.6381μs 27.2940 KOps/s 27.1117 KOps/s $\color{#35bf28}+0.67\%$
test_creation_nested_many_keys[50] 0.1976ms 0.1499ms 6.6708 KOps/s 6.6844 KOps/s $\color{#d91a1a}-0.20\%$
test_clone 48.6510μs 13.0808μs 76.4479 KOps/s 73.9948 KOps/s $\color{#35bf28}+3.32\%$
test_getitem[int] 1.7875ms 14.0932μs 70.9563 KOps/s 56.3545 KOps/s $\textbf{\color{#35bf28}+25.91\%}$
test_getitem[slice_int] 0.1416ms 24.4814μs 40.8473 KOps/s 40.8676 KOps/s $\color{#d91a1a}-0.05\%$
test_getitem[range] 0.1680ms 60.3347μs 16.5742 KOps/s 16.3710 KOps/s $\color{#35bf28}+1.24\%$
test_getitem[tuple] 0.1557ms 23.6015μs 42.3702 KOps/s 41.8270 KOps/s $\color{#35bf28}+1.30\%$
test_getitem[list] 0.1787ms 56.4745μs 17.7071 KOps/s 17.0104 KOps/s $\color{#35bf28}+4.10\%$
test_setitem_dim[int] 53.9710μs 25.4156μs 39.3459 KOps/s 38.3099 KOps/s $\color{#35bf28}+2.70\%$
test_setitem_dim[slice_int] 76.5010μs 43.7646μs 22.8495 KOps/s 23.1788 KOps/s $\color{#d91a1a}-1.42\%$
test_setitem_dim[range] 0.1131ms 91.6186μs 10.9148 KOps/s 10.9727 KOps/s $\color{#d91a1a}-0.53\%$
test_setitem_dim[tuple] 60.3910μs 40.8830μs 24.4601 KOps/s 24.7479 KOps/s $\color{#d91a1a}-1.16\%$
test_setitem 52.2110μs 17.8471μs 56.0315 KOps/s 51.9558 KOps/s $\textbf{\color{#35bf28}+7.84\%}$
test_set 54.6510μs 17.0564μs 58.6290 KOps/s 57.0941 KOps/s $\color{#35bf28}+2.69\%$
test_set_shared 0.4916ms 0.2019ms 4.9537 KOps/s 4.7723 KOps/s $\color{#35bf28}+3.80\%$
test_update 0.3213ms 21.9360μs 45.5871 KOps/s 45.6438 KOps/s $\color{#d91a1a}-0.12\%$
test_update_nested 71.0110μs 33.7418μs 29.6369 KOps/s 29.6709 KOps/s $\color{#d91a1a}-0.11\%$
test_update__nested 0.4861ms 33.5436μs 29.8120 KOps/s 29.1802 KOps/s $\color{#35bf28}+2.17\%$
test_set_nested 52.8610μs 18.8250μs 53.1209 KOps/s 52.0404 KOps/s $\color{#35bf28}+2.08\%$
test_set_nested_new 63.9810μs 23.4638μs 42.6189 KOps/s 40.3979 KOps/s $\textbf{\color{#35bf28}+5.50\%}$
test_select 85.0810μs 41.4737μs 24.1117 KOps/s 23.9491 KOps/s $\color{#35bf28}+0.68\%$
test_select_nested 0.1030ms 70.9963μs 14.0852 KOps/s 14.0250 KOps/s $\color{#35bf28}+0.43\%$
test_exclude_nested 0.1196ms 91.9082μs 10.8804 KOps/s 10.7713 KOps/s $\color{#35bf28}+1.01\%$
test_empty[True] 0.4872ms 0.4194ms 2.3841 KOps/s 2.3640 KOps/s $\color{#35bf28}+0.85\%$
test_empty[False] 9.9000μs 1.2463μs 802.3848 KOps/s 797.1914 KOps/s $\color{#35bf28}+0.65\%$
test_to 0.1067ms 70.6987μs 14.1445 KOps/s 14.1463 KOps/s $\color{#d91a1a}-0.01\%$
test_to_nonblocking 0.1063ms 63.7150μs 15.6949 KOps/s 15.8477 KOps/s $\color{#d91a1a}-0.96\%$
test_unbind_speed 0.3510ms 0.3138ms 3.1863 KOps/s 3.1648 KOps/s $\color{#35bf28}+0.68\%$
test_unbind_speed_stack0 0.3830ms 0.3098ms 3.2276 KOps/s 3.2265 KOps/s $\color{#35bf28}+0.03\%$
test_unbind_speed_stack1 0.1014s 0.9927ms 1.0073 KOps/s 995.0577 Ops/s $\color{#35bf28}+1.23\%$
test_split 1.1284ms 1.0942ms 913.9282 Ops/s 914.7104 Ops/s $\color{#d91a1a}-0.09\%$
test_chunk 0.1010s 1.1623ms 860.3946 Ops/s 772.8609 Ops/s $\textbf{\color{#35bf28}+11.33\%}$
test_to_cpu_blocking 19.4561ms 19.3398ms 51.7069 Ops/s 42.6003 Ops/s $\textbf{\color{#35bf28}+21.38\%}$
test_to_cpu_global_sync 11.2369ms 11.1239ms 89.8966 Ops/s 90.2192 Ops/s $\color{#d91a1a}-0.36\%$
test_to_cpu_event_sync 0.1143s 13.2646ms 75.3885 Ops/s 82.7081 Ops/s $\textbf{\color{#d91a1a}-8.85\%}$
test_to_cpu_default 12.2760ms 12.0441ms 83.0283 Ops/s 74.4343 Ops/s $\textbf{\color{#35bf28}+11.55\%}$
test_consolidate[False-None] 4.1418ms 3.9993ms 250.0417 Ops/s 251.5545 Ops/s $\color{#d91a1a}-0.60\%$
test_consolidate[default-None] 2.0295ms 1.9418ms 514.9788 Ops/s 505.1170 Ops/s $\color{#35bf28}+1.95\%$
test_consolidate[reduce-overhead-None] 1.9703ms 1.8655ms 536.0569 Ops/s 523.3441 Ops/s $\color{#35bf28}+2.43\%$
test_consolidate_njt[False-None] 8.4284ms 8.1956ms 122.0162 Ops/s 122.5881 Ops/s $\color{#d91a1a}-0.47\%$
test_to[False-False-None] 2.7090ms 2.0622ms 484.9180 Ops/s 487.9350 Ops/s $\color{#d91a1a}-0.62\%$
test_to[True-False-None] 2.0314ms 1.8701ms 534.7177 Ops/s 543.0641 Ops/s $\color{#d91a1a}-1.54\%$
test_to[within-False-None] 6.2606ms 5.9487ms 168.1042 Ops/s 169.0922 Ops/s $\color{#d91a1a}-0.58\%$
test_to[True-default-None] 7.5592ms 7.3719ms 135.6501 Ops/s 132.8475 Ops/s $\color{#35bf28}+2.11\%$
test_to_njt[False-False-None] 8.4270ms 8.3283ms 120.0729 Ops/s 120.4846 Ops/s $\color{#d91a1a}-0.34\%$
test_to_njt[True-False-None] 6.9473ms 6.7520ms 148.1035 Ops/s 148.6573 Ops/s $\color{#d91a1a}-0.37\%$
test_to_njt[within-False-None] 15.2463ms 15.1095ms 66.1835 Ops/s 66.0622 Ops/s $\color{#35bf28}+0.18\%$
test_creation[device0] 0.3974ms 0.1145ms 8.7353 KOps/s 8.7023 KOps/s $\color{#35bf28}+0.38\%$
test_creation_from_tensor 0.3901ms 0.1118ms 8.9433 KOps/s 8.9252 KOps/s $\color{#35bf28}+0.20\%$
test_add_one[memmap_tensor0] 0.2138ms 6.3841μs 156.6385 KOps/s 152.4947 KOps/s $\color{#35bf28}+2.72\%$
test_contiguous[memmap_tensor0] 13.7100μs 0.6212μs 1.6099 MOps/s 2.2624 MOps/s $\textbf{\color{#d91a1a}-28.84\%}$
test_stack[memmap_tensor0] 36.9310μs 4.6937μs 213.0511 KOps/s 215.0090 KOps/s $\color{#d91a1a}-0.91\%$
test_memmaptd_index 1.0005ms 0.2552ms 3.9183 KOps/s 3.8830 KOps/s $\color{#35bf28}+0.91\%$
test_memmaptd_index_astensor 0.5093ms 0.3441ms 2.9063 KOps/s 2.8857 KOps/s $\color{#35bf28}+0.71\%$
test_memmaptd_index_op 0.9017ms 0.5833ms 1.7144 KOps/s 1.6935 KOps/s $\color{#35bf28}+1.23\%$
test_serialize_model 0.1368s 0.1357s 7.3691 Ops/s 7.2771 Ops/s $\color{#35bf28}+1.26\%$
test_serialize_model_pickle 1.3476s 1.2102s 0.8263 Ops/s 0.8387 Ops/s $\color{#d91a1a}-1.48\%$
test_serialize_weights 0.1366s 0.1345s 7.4329 Ops/s 7.4307 Ops/s $\color{#35bf28}+0.03\%$
test_serialize_weights_returnearly 0.3822s 89.0248ms 11.2328 Ops/s 11.3906 Ops/s $\color{#d91a1a}-1.39\%$
test_serialize_weights_pickle 1.3637s 1.2136s 0.8240 Ops/s 0.8244 Ops/s $\color{#d91a1a}-0.05\%$
test_reshape_pytree 0.1986ms 32.9477μs 30.3511 KOps/s 30.9227 KOps/s $\color{#d91a1a}-1.85\%$
test_reshape_td 80.7320μs 44.9919μs 22.2262 KOps/s 23.4990 KOps/s $\textbf{\color{#d91a1a}-5.42\%}$
test_view_pytree 0.2220ms 33.2146μs 30.1072 KOps/s 31.2505 KOps/s $\color{#d91a1a}-3.66\%$
test_view_td 89.1320μs 51.0918μs 19.5726 KOps/s 19.8824 KOps/s $\color{#d91a1a}-1.56\%$
test_unbind_pytree 0.2281ms 35.4179μs 28.2343 KOps/s 27.8690 KOps/s $\color{#35bf28}+1.31\%$
test_unbind_td 89.8810μs 46.9735μs 21.2886 KOps/s 21.2481 KOps/s $\color{#35bf28}+0.19\%$
test_split_pytree 0.2282ms 41.2412μs 24.2476 KOps/s 23.7284 KOps/s $\color{#35bf28}+2.19\%$
test_split_td 0.1869ms 62.7169μs 15.9447 KOps/s 15.5348 KOps/s $\color{#35bf28}+2.64\%$
test_add_pytree 0.2346ms 41.0619μs 24.3535 KOps/s 22.9603 KOps/s $\textbf{\color{#35bf28}+6.07\%}$
test_add_td 0.1117ms 53.4472μs 18.7101 KOps/s 18.2160 KOps/s $\color{#35bf28}+2.71\%$
test_compile_add_one_nested[tensordict-compile] 0.1861ms 0.1344ms 7.4394 KOps/s 7.1330 KOps/s $\color{#35bf28}+4.30\%$
test_compile_add_one_nested[tensordict-eager] 0.4299ms 0.1870ms 5.3467 KOps/s 5.4098 KOps/s $\color{#d91a1a}-1.17\%$
test_compile_add_one_nested[pytree-compile] 0.6221ms 0.1075ms 9.2995 KOps/s 9.2390 KOps/s $\color{#35bf28}+0.66\%$
test_compile_add_one_nested[pytree-eager] 0.5903ms 0.1766ms 5.6638 KOps/s 5.7180 KOps/s $\color{#d91a1a}-0.95\%$
test_compile_copy_nested[tensordict-compile] 0.2554ms 29.6551μs 33.7210 KOps/s 32.2816 KOps/s $\color{#35bf28}+4.46\%$
test_compile_copy_nested[tensordict-eager] 81.9920μs 49.5020μs 20.2012 KOps/s 19.9878 KOps/s $\color{#35bf28}+1.07\%$
test_compile_copy_nested[pytree-compile] 52.6210μs 9.4215μs 106.1399 KOps/s 104.7083 KOps/s $\color{#35bf28}+1.37\%$
test_compile_copy_nested[pytree-eager] 0.4532ms 65.4818μs 15.2714 KOps/s 14.9457 KOps/s $\color{#35bf28}+2.18\%$
test_compile_add_one_flat[tensordict-compile] 0.2175ms 0.1757ms 5.6922 KOps/s 5.3750 KOps/s $\textbf{\color{#35bf28}+5.90\%}$
test_compile_add_one_flat[tensordict-eager] 0.3153ms 0.2506ms 3.9901 KOps/s 3.9758 KOps/s $\color{#35bf28}+0.36\%$
test_compile_add_one_flat[tensorclass-compile] 0.1910ms 0.1186ms 8.4337 KOps/s 8.3893 KOps/s $\color{#35bf28}+0.53\%$
test_compile_add_one_flat[tensorclass-eager] 0.1247ms 70.7601μs 14.1323 KOps/s 14.6235 KOps/s $\color{#d91a1a}-3.36\%$
test_compile_add_one_flat[pytree-compile] 0.2028ms 0.1563ms 6.3983 KOps/s 6.2174 KOps/s $\color{#35bf28}+2.91\%$
test_compile_add_one_flat[pytree-eager] 0.7887ms 0.5250ms 1.9048 KOps/s 1.9298 KOps/s $\color{#d91a1a}-1.30\%$
test_compile_add_self_flat[tensordict-eager] 0.4347ms 0.3042ms 3.2871 KOps/s 3.2595 KOps/s $\color{#35bf28}+0.85\%$
test_compile_add_self_flat[tensordict-compile] 0.2685ms 0.1801ms 5.5527 KOps/s 5.3126 KOps/s $\color{#35bf28}+4.52\%$
test_compile_add_self_flat[tensorclass-eager] 0.1395ms 84.8300μs 11.7883 KOps/s 11.8981 KOps/s $\color{#d91a1a}-0.92\%$
test_compile_add_self_flat[tensorclass-compile] 0.1961ms 0.1158ms 8.6336 KOps/s 8.3243 KOps/s $\color{#35bf28}+3.72\%$
test_compile_add_self_flat[pytree-eager] 0.6482ms 0.4396ms 2.2748 KOps/s 2.3019 KOps/s $\color{#d91a1a}-1.18\%$
test_compile_add_self_flat[pytree-compile] 0.2058ms 0.1580ms 6.3285 KOps/s 6.2826 KOps/s $\color{#35bf28}+0.73\%$
test_compile_copy_flat[tensordict-compile] 0.1039ms 24.6613μs 40.5493 KOps/s 40.6058 KOps/s $\color{#d91a1a}-0.14\%$
test_compile_copy_flat[tensordict-eager] 63.8510μs 39.7472μs 25.1590 KOps/s 25.0429 KOps/s $\color{#35bf28}+0.46\%$
test_compile_copy_flat[pytree-compile] 39.5410μs 10.5249μs 95.0126 KOps/s 94.9175 KOps/s $\color{#35bf28}+0.10\%$
test_compile_copy_flat[pytree-eager] 0.3836ms 50.6899μs 19.7278 KOps/s 19.6363 KOps/s $\color{#35bf28}+0.47\%$
test_compile_assign_and_add[tensordict-compile] 1.9301ms 0.1698ms 5.8879 KOps/s 5.5094 KOps/s $\textbf{\color{#35bf28}+6.87\%}$
test_compile_assign_and_add[tensordict-eager] 3.4023ms 3.3033ms 302.7307 Ops/s 302.4237 Ops/s $\color{#35bf28}+0.10\%$
test_compile_assign_and_add[pytree-compile] 1.8804ms 0.1568ms 6.3770 KOps/s 6.2433 KOps/s $\color{#35bf28}+2.14\%$
test_compile_assign_and_add[pytree-eager] 2.9148ms 2.8018ms 356.9198 Ops/s 362.5731 Ops/s $\color{#d91a1a}-1.56\%$
test_compile_indexing[tensor-tensordict-compile] 0.1615ms 0.1049ms 9.5331 KOps/s 9.2474 KOps/s $\color{#35bf28}+3.09\%$
test_compile_indexing[tensor-tensordict-eager] 0.3105ms 71.8510μs 13.9177 KOps/s 13.3089 KOps/s $\color{#35bf28}+4.57\%$
test_compile_indexing[tensor-tensorclass-compile] 0.1342ms 92.4386μs 10.8180 KOps/s 10.3476 KOps/s $\color{#35bf28}+4.55\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2442ms 44.9693μs 22.2374 KOps/s 22.1923 KOps/s $\color{#35bf28}+0.20\%$
test_compile_indexing[tensor-pytree-compile] 0.1362ms 93.4590μs 10.6999 KOps/s 9.9978 KOps/s $\textbf{\color{#35bf28}+7.02\%}$
test_compile_indexing[tensor-pytree-eager] 0.2697ms 44.9851μs 22.2296 KOps/s 22.2086 KOps/s $\color{#35bf28}+0.09\%$
test_compile_indexing[slice-tensordict-compile] 0.1556ms 56.9225μs 17.5677 KOps/s 17.1611 KOps/s $\color{#35bf28}+2.37\%$
test_compile_indexing[slice-tensordict-eager] 0.2209ms 26.9159μs 37.1527 KOps/s 35.7905 KOps/s $\color{#35bf28}+3.81\%$
test_compile_indexing[slice-tensorclass-compile] 86.3910μs 43.5969μs 22.9374 KOps/s 21.8562 KOps/s $\color{#35bf28}+4.95\%$
test_compile_indexing[slice-tensorclass-eager] 0.2537ms 21.6170μs 46.2598 KOps/s 45.2326 KOps/s $\color{#35bf28}+2.27\%$
test_compile_indexing[slice-pytree-compile] 0.1284ms 45.4845μs 21.9855 KOps/s 21.9193 KOps/s $\color{#35bf28}+0.30\%$
test_compile_indexing[slice-pytree-eager] 0.2724ms 21.4768μs 46.5619 KOps/s 33.9864 KOps/s $\textbf{\color{#35bf28}+37.00\%}$
test_compile_indexing[int-tensordict-compile] 0.1042ms 56.6481μs 17.6528 KOps/s 17.7754 KOps/s $\color{#d91a1a}-0.69\%$
test_compile_indexing[int-tensordict-eager] 0.2176ms 26.6009μs 37.5928 KOps/s 36.8856 KOps/s $\color{#35bf28}+1.92\%$
test_compile_indexing[int-tensorclass-compile] 96.2910μs 43.9269μs 22.7651 KOps/s 21.4576 KOps/s $\textbf{\color{#35bf28}+6.09\%}$
test_compile_indexing[int-tensorclass-eager] 0.2601ms 21.8086μs 45.8535 KOps/s 46.5312 KOps/s $\color{#d91a1a}-1.46\%$
test_compile_indexing[int-pytree-compile] 0.1017ms 44.2681μs 22.5896 KOps/s 21.8365 KOps/s $\color{#35bf28}+3.45\%$
test_compile_indexing[int-pytree-eager] 0.2667ms 21.7506μs 45.9758 KOps/s 46.0228 KOps/s $\color{#d91a1a}-0.10\%$
test_mod_add[eager] 0.1249ms 50.7968μs 19.6863 KOps/s 19.4104 KOps/s $\color{#35bf28}+1.42\%$
test_mod_add[compile] 0.1490ms 0.1014ms 9.8587 KOps/s 9.6304 KOps/s $\color{#35bf28}+2.37\%$
test_mod_add[compile-overhead] 0.2272ms 0.1441ms 6.9394 KOps/s 6.7134 KOps/s $\color{#35bf28}+3.37\%$
test_mod_wrap[eager] 0.3619ms 0.2877ms 3.4758 KOps/s 3.4102 KOps/s $\color{#35bf28}+1.92\%$
test_mod_wrap[compile] 0.7588ms 0.3402ms 2.9392 KOps/s 2.8910 KOps/s $\color{#35bf28}+1.67\%$
test_mod_wrap[compile-overhead] 7.6914ms 4.0636ms 246.0859 Ops/s 249.3306 Ops/s $\color{#d91a1a}-1.30\%$
test_mod_wrap_and_backward[eager] 1.9420ms 1.4878ms 672.1344 Ops/s 673.5576 Ops/s $\color{#d91a1a}-0.21\%$
test_mod_wrap_and_backward[compile] 1.5639ms 1.4172ms 705.6300 Ops/s 697.0963 Ops/s $\color{#35bf28}+1.22\%$
test_mod_wrap_and_backward[compile-overhead] 1.2106ms 0.8612ms 1.1612 KOps/s 1.1203 KOps/s $\color{#35bf28}+3.65\%$
test_seq_add[eager] 0.2797ms 0.1525ms 6.5555 KOps/s 6.2040 KOps/s $\textbf{\color{#35bf28}+5.66\%}$
test_seq_add[compile] 0.5506ms 0.1179ms 8.4844 KOps/s 8.1541 KOps/s $\color{#35bf28}+4.05\%$
test_seq_add[compile-overhead] 0.4028ms 0.1496ms 6.6860 KOps/s 6.3376 KOps/s $\textbf{\color{#35bf28}+5.50\%}$
test_seq_wrap[eager] 0.9621ms 0.5406ms 1.8498 KOps/s 1.9332 KOps/s $\color{#d91a1a}-4.32\%$
test_seq_wrap[compile] 0.8374ms 0.3583ms 2.7907 KOps/s 2.6524 KOps/s $\textbf{\color{#35bf28}+5.21\%}$
test_seq_wrap[compile-overhead] 0.7006ms 0.2572ms 3.8887 KOps/s 3.8115 KOps/s $\color{#35bf28}+2.02\%$
test_func_call_runtime[False-eager] 1.2636ms 0.8333ms 1.2001 KOps/s 1.1499 KOps/s $\color{#35bf28}+4.37\%$
test_func_call_runtime[False-compile] 1.4273ms 0.8875ms 1.1268 KOps/s 1.1140 KOps/s $\color{#35bf28}+1.15\%$
test_func_call_runtime[False-compile-overhead] 0.5326ms 0.4424ms 2.2603 KOps/s 2.2135 KOps/s $\color{#35bf28}+2.11\%$
test_func_call_runtime[True-eager] 1.4974ms 1.0578ms 945.3824 Ops/s 947.7748 Ops/s $\color{#d91a1a}-0.25\%$
test_func_call_runtime[True-compile] 1.4084ms 0.8966ms 1.1153 KOps/s 1.1010 KOps/s $\color{#35bf28}+1.30\%$
test_func_call_runtime[True-compile-overhead] 0.8833ms 0.4571ms 2.1879 KOps/s 2.1658 KOps/s $\color{#35bf28}+1.02\%$
test_func_call_cm_runtime[False-eager] 1.3243ms 0.8767ms 1.1406 KOps/s 1.2144 KOps/s $\textbf{\color{#d91a1a}-6.08\%}$
test_func_call_cm_runtime[False-compile] 1.4405ms 0.9337ms 1.0710 KOps/s 1.1082 KOps/s $\color{#d91a1a}-3.36\%$
test_func_call_cm_runtime[False-compile-overhead] 0.8767ms 0.4477ms 2.2336 KOps/s 2.2212 KOps/s $\color{#35bf28}+0.56\%$
test_func_call_cm_runtime[True-eager] 1.6328ms 1.2069ms 828.5563 Ops/s 823.0733 Ops/s $\color{#35bf28}+0.67\%$
test_func_call_cm_runtime[True-compile] 1.4995ms 0.9608ms 1.0408 KOps/s 1.0630 KOps/s $\color{#d91a1a}-2.08\%$
test_func_call_cm_runtime[True-compile-overhead] 0.9290ms 0.4875ms 2.0511 KOps/s 2.0351 KOps/s $\color{#35bf28}+0.78\%$
test_vmap_func_call_cm_runtime[eager] 2.8715ms 2.3261ms 429.9119 Ops/s 428.5128 Ops/s $\color{#35bf28}+0.33\%$
test_vmap_func_call_cm_runtime[compile] 1.3742ms 0.9831ms 1.0172 KOps/s 1.0457 KOps/s $\color{#d91a1a}-2.72\%$
test_vmap_func_call_cm_runtime[compile-overhead] 0.5540ms 0.4897ms 2.0420 KOps/s 1.9939 KOps/s $\color{#35bf28}+2.41\%$
test_distributed 2.8954ms 0.1636ms 6.1118 KOps/s 6.4331 KOps/s $\color{#d91a1a}-4.99\%$
test_tdmodule 62.2610μs 28.4482μs 35.1516 KOps/s 35.2559 KOps/s $\color{#d91a1a}-0.30\%$
test_tdmodule_dispatch 76.2910μs 45.4821μs 21.9867 KOps/s 21.6987 KOps/s $\color{#35bf28}+1.33\%$
test_tdseq 46.1410μs 26.6834μs 37.4765 KOps/s 36.4611 KOps/s $\color{#35bf28}+2.78\%$
test_tdseq_dispatch 84.6010μs 47.5590μs 21.0265 KOps/s 20.7119 KOps/s $\color{#35bf28}+1.52\%$
test_instantiation_functorch 2.1795ms 1.9715ms 507.2194 Ops/s 505.4297 Ops/s $\color{#35bf28}+0.35\%$
test_exec_functorch 0.2426ms 0.1753ms 5.7029 KOps/s 5.6407 KOps/s $\color{#35bf28}+1.10\%$
test_exec_functional_call 0.2345ms 0.1575ms 6.3486 KOps/s 6.2433 KOps/s $\color{#35bf28}+1.69\%$
test_exec_td_decorator 0.4401ms 0.2307ms 4.3353 KOps/s 4.3223 KOps/s $\color{#35bf28}+0.30\%$
test_vmap_mlp_speed_decorator[True-True] 0.9889ms 0.8156ms 1.2261 KOps/s 1.2340 KOps/s $\color{#d91a1a}-0.64\%$
test_vmap_mlp_speed_decorator[True-False] 0.9877ms 0.8192ms 1.2207 KOps/s 1.2362 KOps/s $\color{#d91a1a}-1.26\%$
test_vmap_mlp_speed_decorator[False-True] 1.1546ms 0.7369ms 1.3571 KOps/s 1.4191 KOps/s $\color{#d91a1a}-4.37\%$
test_vmap_mlp_speed_decorator[False-False] 1.1205ms 0.7269ms 1.3758 KOps/s 1.4292 KOps/s $\color{#d91a1a}-3.74\%$
test_vmap_transformer_speed_decorator[True-True] 21.0095ms 20.3631ms 49.1084 Ops/s 49.2690 Ops/s $\color{#d91a1a}-0.33\%$
test_vmap_transformer_speed_decorator[True-False] 21.3053ms 20.3795ms 49.0689 Ops/s 49.2358 Ops/s $\color{#d91a1a}-0.34\%$
test_vmap_transformer_speed_decorator[False-True] 21.2350ms 20.2437ms 49.3980 Ops/s 49.7780 Ops/s $\color{#d91a1a}-0.76\%$
test_vmap_transformer_speed_decorator[False-False] 20.6194ms 20.1755ms 49.5650 Ops/s 49.6866 Ops/s $\color{#d91a1a}-0.24\%$
test_to_module_speed[True] 1.8350ms 1.4107ms 708.8833 Ops/s 710.1563 Ops/s $\color{#d91a1a}-0.18\%$
test_to_module_speed[False] 1.8172ms 1.3952ms 716.7411 Ops/s 719.0849 Ops/s $\color{#d91a1a}-0.33\%$
test_tc_init 75.1820μs 44.8571μs 22.2930 KOps/s 21.8578 KOps/s $\color{#35bf28}+1.99\%$
test_tc_init_tensor_only 0.4278ms 9.8451μs 101.5735 KOps/s 106.3086 KOps/s $\color{#d91a1a}-4.45\%$
test_tc_init_nested 0.1273ms 92.7874μs 10.7773 KOps/s 10.8264 KOps/s $\color{#d91a1a}-0.45\%$
test_tc_init_many_fields 0.4268ms 16.0728μs 62.2169 KOps/s 63.3514 KOps/s $\color{#d91a1a}-1.79\%$
test_tc_first_layer_tensor 19.8100μs 1.7362μs 575.9710 KOps/s 582.1867 KOps/s $\color{#d91a1a}-1.07\%$
test_tc_first_layer_tensor_only 58.1981μs 0.7262μs 1.3771 MOps/s 1.3912 MOps/s $\color{#d91a1a}-1.01\%$
test_tc_first_layer_tensor_set 32.2810μs 3.9676μs 252.0410 KOps/s 251.8433 KOps/s $\color{#35bf28}+0.08\%$
test_tc_first_layer_tensor_only_set 24.4710μs 3.0230μs 330.7946 KOps/s 330.4440 KOps/s $\color{#35bf28}+0.11\%$
test_tc_first_layer_nontensor 2.5126ms 5.9808μs 167.2030 KOps/s 165.1471 KOps/s $\color{#35bf28}+1.24\%$
test_tc_second_layer_tensor 19.5610μs 4.1795μs 239.2636 KOps/s 240.1251 KOps/s $\color{#d91a1a}-0.36\%$
test_tc_second_layer_nontensor 0.4178ms 8.3383μs 119.9290 KOps/s 115.9280 KOps/s $\color{#35bf28}+3.45\%$
test_unbind 0.2413s 16.4525ms 60.7809 Ops/s 72.5198 Ops/s $\textbf{\color{#d91a1a}-16.19\%}$
test_full_like 17.6387ms 17.4614ms 57.2692 Ops/s 60.0506 Ops/s $\color{#d91a1a}-4.63\%$
test_zeros_like 17.5666ms 17.4176ms 57.4131 Ops/s 60.1736 Ops/s $\color{#d91a1a}-4.59\%$
test_ones_like 19.8671ms 17.1606ms 58.2730 Ops/s 59.9928 Ops/s $\color{#d91a1a}-2.87\%$
test_clone 18.3436ms 17.6922ms 56.5220 Ops/s 56.5598 Ops/s $\color{#d91a1a}-0.07\%$
test_squeeze 87.7920μs 13.6571μs 73.2218 KOps/s 71.3541 KOps/s $\color{#35bf28}+2.62\%$
test_unsqueeze 0.1710ms 0.1074ms 9.3067 KOps/s 8.8340 KOps/s $\textbf{\color{#35bf28}+5.35\%}$
test_split 0.2833ms 0.1797ms 5.5633 KOps/s 5.5064 KOps/s $\color{#35bf28}+1.03\%$
test_permute 0.3098ms 0.2022ms 4.9466 KOps/s 4.7904 KOps/s $\color{#35bf28}+3.26\%$
test_stack 54.2153ms 52.0341ms 19.2182 Ops/s 19.1285 Ops/s $\color{#35bf28}+0.47\%$
test_cat 51.4662ms 51.2236ms 19.5223 Ops/s 19.5148 Ops/s $\color{#35bf28}+0.04\%$

@github-actions
Copy link
Contributor

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

Total Benchmarks: 243. Improved: $\large\color{#35bf28}11$. Worsened: $\large\color{#d91a1a}8$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_plain_set_nested 38.1110μs 14.9433μs 66.9198 KOps/s 66.4422 KOps/s $\color{#35bf28}+0.72\%$
test_plain_set_stack_nested 44.8610μs 15.1830μs 65.8630 KOps/s 65.6308 KOps/s $\color{#35bf28}+0.35\%$
test_plain_set_nested_inplace 49.1710μs 16.5189μs 60.5366 KOps/s 59.6753 KOps/s $\color{#35bf28}+1.44\%$
test_plain_set_stack_nested_inplace 48.4210μs 16.5475μs 60.4323 KOps/s 60.6785 KOps/s $\color{#d91a1a}-0.41\%$
test_items 47.0610μs 6.0212μs 166.0797 KOps/s 171.7564 KOps/s $\color{#d91a1a}-3.31\%$
test_items_nested 0.6391ms 0.5295ms 1.8885 KOps/s 1.8876 KOps/s $\color{#35bf28}+0.05\%$
test_items_nested_locked 0.8281ms 0.5325ms 1.8778 KOps/s 1.8665 KOps/s $\color{#35bf28}+0.61\%$
test_items_nested_leaf 0.1512ms 96.2188μs 10.3930 KOps/s 10.1828 KOps/s $\color{#35bf28}+2.06\%$
test_items_stack_nested 0.7248ms 0.5355ms 1.8672 KOps/s 1.8756 KOps/s $\color{#d91a1a}-0.45\%$
test_items_stack_nested_leaf 0.1328ms 95.7989μs 10.4385 KOps/s 10.3149 KOps/s $\color{#35bf28}+1.20\%$
test_items_stack_nested_locked 0.6721ms 0.5451ms 1.8345 KOps/s 1.8592 KOps/s $\color{#d91a1a}-1.33\%$
test_keys 23.1600μs 4.2294μs 236.4425 KOps/s 239.2942 KOps/s $\color{#d91a1a}-1.19\%$
test_keys_nested 0.1527ms 0.1199ms 8.3376 KOps/s 8.2621 KOps/s $\color{#35bf28}+0.91\%$
test_keys_nested_locked 88.9054ms 0.1425ms 7.0193 KOps/s 7.7053 KOps/s $\textbf{\color{#d91a1a}-8.90\%}$
test_keys_nested_leaf 0.1420ms 0.1103ms 9.0675 KOps/s 9.0134 KOps/s $\color{#35bf28}+0.60\%$
test_keys_stack_nested 0.1564ms 0.1202ms 8.3212 KOps/s 8.2780 KOps/s $\color{#35bf28}+0.52\%$
test_keys_stack_nested_leaf 0.1685ms 0.1108ms 9.0255 KOps/s 9.0256 KOps/s $-0.00\%$
test_keys_stack_nested_locked 0.1726ms 0.1293ms 7.7351 KOps/s 7.7598 KOps/s $\color{#d91a1a}-0.32\%$
test_values 6.5500μs 1.0208μs 979.5894 KOps/s 974.3799 KOps/s $\color{#35bf28}+0.53\%$
test_values_nested 76.7010μs 47.0609μs 21.2491 KOps/s 20.9306 KOps/s $\color{#35bf28}+1.52\%$
test_values_nested_locked 86.1110μs 50.3697μs 19.8532 KOps/s 19.7708 KOps/s $\color{#35bf28}+0.42\%$
test_values_nested_leaf 0.1180ms 53.5196μs 18.6847 KOps/s 18.5425 KOps/s $\color{#35bf28}+0.77\%$
test_values_stack_nested 93.7820μs 47.3333μs 21.1268 KOps/s 21.0458 KOps/s $\color{#35bf28}+0.38\%$
test_values_stack_nested_leaf 84.5120μs 53.9105μs 18.5492 KOps/s 18.5328 KOps/s $\color{#35bf28}+0.09\%$
test_values_stack_nested_locked 92.2620μs 50.6737μs 19.7341 KOps/s 19.6528 KOps/s $\color{#35bf28}+0.41\%$
test_membership 5.0667μs 0.8383μs 1.1929 MOps/s 1.1651 MOps/s $\color{#35bf28}+2.39\%$
test_membership_nested 36.0000μs 3.1301μs 319.4751 KOps/s 316.2441 KOps/s $\color{#35bf28}+1.02\%$
test_membership_nested_leaf 35.2510μs 3.1685μs 315.6112 KOps/s 314.6452 KOps/s $\color{#35bf28}+0.31\%$
test_membership_stacked_nested 47.3610μs 3.1941μs 313.0752 KOps/s 316.1265 KOps/s $\color{#d91a1a}-0.97\%$
test_membership_stacked_nested_leaf 34.3900μs 3.1455μs 317.9170 KOps/s 315.7661 KOps/s $\color{#35bf28}+0.68\%$
test_membership_nested_last 32.8700μs 4.5627μs 219.1667 KOps/s 215.8884 KOps/s $\color{#35bf28}+1.52\%$
test_membership_nested_leaf_last 39.0810μs 4.5770μs 218.4819 KOps/s 215.4621 KOps/s $\color{#35bf28}+1.40\%$
test_membership_stacked_nested_last 32.4810μs 4.6153μs 216.6692 KOps/s 214.4278 KOps/s $\color{#35bf28}+1.05\%$
test_membership_stacked_nested_leaf_last 30.5810μs 4.6201μs 216.4443 KOps/s 213.0650 KOps/s $\color{#35bf28}+1.59\%$
test_nested_getleaf 56.3610μs 21.5680μs 46.3650 KOps/s 46.3212 KOps/s $\color{#35bf28}+0.09\%$
test_nested_get 62.4510μs 20.6685μs 48.3827 KOps/s 49.7070 KOps/s $\color{#d91a1a}-2.66\%$
test_stacked_getleaf 47.1010μs 21.9195μs 45.6214 KOps/s 46.0540 KOps/s $\color{#d91a1a}-0.94\%$
test_stacked_get 54.1710μs 20.4420μs 48.9189 KOps/s 49.1514 KOps/s $\color{#d91a1a}-0.47\%$
test_nested_getitemleaf 55.2410μs 22.3281μs 44.7866 KOps/s 45.5579 KOps/s $\color{#d91a1a}-1.69\%$
test_nested_getitem 48.9000μs 21.0254μs 47.5616 KOps/s 48.1792 KOps/s $\color{#d91a1a}-1.28\%$
test_stacked_getitemleaf 56.2410μs 22.3123μs 44.8184 KOps/s 44.3558 KOps/s $\color{#35bf28}+1.04\%$
test_stacked_getitem 56.5510μs 21.5597μs 46.3828 KOps/s 47.9334 KOps/s $\color{#d91a1a}-3.23\%$
test_lock_nested 7.7121ms 0.4793ms 2.0866 KOps/s 2.0792 KOps/s $\color{#35bf28}+0.35\%$
test_lock_stack_nested 0.5323ms 0.4797ms 2.0847 KOps/s 2.0617 KOps/s $\color{#35bf28}+1.11\%$
test_unlock_nested 0.4978ms 0.3825ms 2.6144 KOps/s 2.5918 KOps/s $\color{#35bf28}+0.88\%$
test_unlock_stack_nested 0.4316ms 0.3866ms 2.5863 KOps/s 2.5505 KOps/s $\color{#35bf28}+1.41\%$
test_flatten_speed 0.1694ms 0.1219ms 8.2017 KOps/s 8.0517 KOps/s $\color{#35bf28}+1.86\%$
test_unflatten_speed 0.6575ms 0.5996ms 1.6679 KOps/s 1.6889 KOps/s $\color{#d91a1a}-1.24\%$
test_common_ops 0.8332ms 0.6865ms 1.4567 KOps/s 1.4477 KOps/s $\color{#35bf28}+0.62\%$
test_creation 0.1204ms 2.8934μs 345.6138 KOps/s 339.7798 KOps/s $\color{#35bf28}+1.72\%$
test_creation_empty 24.2510μs 6.1831μs 161.7322 KOps/s 161.1297 KOps/s $\color{#35bf28}+0.37\%$
test_creation_nested_1 41.3100μs 10.8397μs 92.2532 KOps/s 92.6151 KOps/s $\color{#d91a1a}-0.39\%$
test_creation_nested_2 34.2210μs 11.9418μs 83.7393 KOps/s 83.2365 KOps/s $\color{#35bf28}+0.60\%$
test_creation_many_keys[10] 38.1600μs 18.3549μs 54.4813 KOps/s 54.5035 KOps/s $\color{#d91a1a}-0.04\%$
test_creation_many_keys[50] 0.1089ms 78.5328μs 12.7335 KOps/s 12.7103 KOps/s $\color{#35bf28}+0.18\%$
test_creation_many_keys[100] 0.2031ms 0.1531ms 6.5329 KOps/s 6.4881 KOps/s $\color{#35bf28}+0.69\%$
test_creation_nested_many_keys[10] 68.4010μs 39.5182μs 25.3048 KOps/s 25.2527 KOps/s $\color{#35bf28}+0.21\%$
test_creation_nested_many_keys[50] 0.2038ms 0.1600ms 6.2515 KOps/s 6.2321 KOps/s $\color{#35bf28}+0.31\%$
test_clone 46.2600μs 13.2104μs 75.6979 KOps/s 72.9176 KOps/s $\color{#35bf28}+3.81\%$
test_getitem[int] 1.6895ms 14.5746μs 68.6124 KOps/s 55.2364 KOps/s $\textbf{\color{#35bf28}+24.22\%}$
test_getitem[slice_int] 0.1440ms 25.4090μs 39.3562 KOps/s 38.9746 KOps/s $\color{#35bf28}+0.98\%$
test_getitem[range] 0.1794ms 65.4220μs 15.2854 KOps/s 15.6467 KOps/s $\color{#d91a1a}-2.31\%$
test_getitem[tuple] 0.1484ms 24.4089μs 40.9687 KOps/s 40.5474 KOps/s $\color{#35bf28}+1.04\%$
test_getitem[list] 0.1828ms 57.4316μs 17.4120 KOps/s 17.1088 KOps/s $\color{#35bf28}+1.77\%$
test_setitem_dim[int] 49.0610μs 25.7236μs 38.8748 KOps/s 37.4784 KOps/s $\color{#35bf28}+3.73\%$
test_setitem_dim[slice_int] 69.2210μs 44.5891μs 22.4270 KOps/s 22.2209 KOps/s $\color{#35bf28}+0.93\%$
test_setitem_dim[range] 0.1236ms 93.5134μs 10.6937 KOps/s 10.5029 KOps/s $\color{#35bf28}+1.82\%$
test_setitem_dim[tuple] 62.5620μs 41.6340μs 24.0188 KOps/s 23.5133 KOps/s $\color{#35bf28}+2.15\%$
test_setitem 54.7010μs 17.6531μs 56.6471 KOps/s 53.9873 KOps/s $\color{#35bf28}+4.93\%$
test_set 44.6600μs 17.0427μs 58.6760 KOps/s 56.6724 KOps/s $\color{#35bf28}+3.54\%$
test_set_shared 0.5167ms 0.2061ms 4.8513 KOps/s 4.8430 KOps/s $\color{#35bf28}+0.17\%$
test_update 0.2128ms 22.3068μs 44.8293 KOps/s 44.1607 KOps/s $\color{#35bf28}+1.51\%$
test_update_nested 93.0620μs 34.4811μs 29.0014 KOps/s 28.4746 KOps/s $\color{#35bf28}+1.85\%$
test_update__nested 0.4450ms 34.2257μs 29.2178 KOps/s 28.6835 KOps/s $\color{#35bf28}+1.86\%$
test_set_nested 53.9210μs 19.1349μs 52.2604 KOps/s 51.3150 KOps/s $\color{#35bf28}+1.84\%$
test_set_nested_new 63.3910μs 24.0323μs 41.6106 KOps/s 40.4339 KOps/s $\color{#35bf28}+2.91\%$
test_select 76.2410μs 42.5647μs 23.4936 KOps/s 23.3462 KOps/s $\color{#35bf28}+0.63\%$
test_select_nested 0.1376ms 74.6869μs 13.3892 KOps/s 13.3674 KOps/s $\color{#35bf28}+0.16\%$
test_exclude_nested 0.1360ms 97.1649μs 10.2918 KOps/s 10.3346 KOps/s $\color{#d91a1a}-0.41\%$
test_empty[True] 0.4985ms 0.4328ms 2.3103 KOps/s 2.3112 KOps/s $\color{#d91a1a}-0.04\%$
test_empty[False] 11.6550μs 1.3004μs 769.0214 KOps/s 758.7586 KOps/s $\color{#35bf28}+1.35\%$
test_to 0.1020ms 71.3725μs 14.0110 KOps/s 13.7885 KOps/s $\color{#35bf28}+1.61\%$
test_to_nonblocking 0.1032ms 64.3062μs 15.5506 KOps/s 14.8572 KOps/s $\color{#35bf28}+4.67\%$
test_unbind_speed 0.3800ms 0.3275ms 3.0532 KOps/s 3.0559 KOps/s $\color{#d91a1a}-0.09\%$
test_unbind_speed_stack0 0.3615ms 0.3245ms 3.0816 KOps/s 3.0440 KOps/s $\color{#35bf28}+1.23\%$
test_unbind_speed_stack1 0.1031s 0.9159ms 1.0919 KOps/s 1.0710 KOps/s $\color{#35bf28}+1.95\%$
test_split 1.2317ms 1.1425ms 875.3044 Ops/s 880.1883 Ops/s $\color{#d91a1a}-0.55\%$
test_chunk 0.1029s 1.2107ms 825.9729 Ops/s 915.5915 Ops/s $\textbf{\color{#d91a1a}-9.79\%}$
test_to_cpu_blocking 19.2476ms 19.1430ms 52.2383 Ops/s 46.3458 Ops/s $\textbf{\color{#35bf28}+12.71\%}$
test_to_cpu_global_sync 11.1357ms 11.0184ms 90.7576 Ops/s 89.1371 Ops/s $\color{#35bf28}+1.82\%$
test_to_cpu_event_sync 0.1147s 13.2379ms 75.5406 Ops/s 82.2110 Ops/s $\textbf{\color{#d91a1a}-8.11\%}$
test_to_cpu_default 12.2519ms 11.9839ms 83.4451 Ops/s 82.1620 Ops/s $\color{#35bf28}+1.56\%$
test_consolidate[False-None] 4.1919ms 4.1275ms 242.2757 Ops/s 216.6184 Ops/s $\textbf{\color{#35bf28}+11.84\%}$
test_consolidate[default-None] 2.0945ms 2.0064ms 498.4084 Ops/s 477.4601 Ops/s $\color{#35bf28}+4.39\%$
test_consolidate[reduce-overhead-None] 2.0025ms 1.9277ms 518.7412 Ops/s 498.0912 Ops/s $\color{#35bf28}+4.15\%$
test_consolidate_njt[False-None] 8.9619ms 8.5346ms 117.1695 Ops/s 116.7629 Ops/s $\color{#35bf28}+0.35\%$
test_to[False-False-None] 2.1255ms 2.0380ms 490.6687 Ops/s 473.0500 Ops/s $\color{#35bf28}+3.72\%$
test_to[True-False-None] 2.1794ms 1.9177ms 521.4565 Ops/s 528.2505 Ops/s $\color{#d91a1a}-1.29\%$
test_to[within-False-None] 6.3923ms 6.1322ms 163.0737 Ops/s 162.9293 Ops/s $\color{#35bf28}+0.09\%$
test_to[True-default-None] 0.1756s 8.7581ms 114.1803 Ops/s 130.2370 Ops/s $\textbf{\color{#d91a1a}-12.33\%}$
test_to_njt[False-False-None] 8.6820ms 8.5828ms 116.5120 Ops/s 115.6499 Ops/s $\color{#35bf28}+0.75\%$
test_to_njt[True-False-None] 7.1258ms 6.9909ms 143.0433 Ops/s 142.9819 Ops/s $\color{#35bf28}+0.04\%$
test_to_njt[within-False-None] 15.7362ms 15.6060ms 64.0779 Ops/s 63.8750 Ops/s $\color{#35bf28}+0.32\%$
test_creation[device0] 0.3358ms 0.1168ms 8.5650 KOps/s 8.4875 KOps/s $\color{#35bf28}+0.91\%$
test_creation_from_tensor 0.4653ms 0.1138ms 8.7886 KOps/s 8.7034 KOps/s $\color{#35bf28}+0.98\%$
test_add_one[memmap_tensor0] 0.2848ms 6.4526μs 154.9755 KOps/s 146.8120 KOps/s $\textbf{\color{#35bf28}+5.56\%}$
test_contiguous[memmap_tensor0] 37.9810μs 0.7129μs 1.4027 MOps/s 1.9968 MOps/s $\textbf{\color{#d91a1a}-29.75\%}$
test_stack[memmap_tensor0] 54.8910μs 4.4841μs 223.0103 KOps/s 206.6793 KOps/s $\textbf{\color{#35bf28}+7.90\%}$
test_memmaptd_index 0.9872ms 0.2601ms 3.8440 KOps/s 3.7312 KOps/s $\color{#35bf28}+3.03\%$
test_memmaptd_index_astensor 0.5128ms 0.3554ms 2.8139 KOps/s 2.7968 KOps/s $\color{#35bf28}+0.61\%$
test_memmaptd_index_op 0.9338ms 0.5967ms 1.6760 KOps/s 1.6252 KOps/s $\color{#35bf28}+3.13\%$
test_serialize_model 0.1396s 0.1375s 7.2715 Ops/s 7.2824 Ops/s $\color{#d91a1a}-0.15\%$
test_serialize_model_pickle 1.3509s 1.2097s 0.8266 Ops/s 0.8391 Ops/s $\color{#d91a1a}-1.48\%$
test_serialize_weights 0.1408s 0.1361s 7.3465 Ops/s 7.3320 Ops/s $\color{#35bf28}+0.20\%$
test_serialize_weights_returnearly 0.4085s 95.5411ms 10.4667 Ops/s 6.0167 Ops/s $\textbf{\color{#35bf28}+73.96\%}$
test_serialize_weights_pickle 1.3667s 1.2131s 0.8244 Ops/s 0.8245 Ops/s $\color{#d91a1a}-0.01\%$
test_reshape_pytree 0.2082ms 33.1829μs 30.1360 KOps/s 29.5904 KOps/s $\color{#35bf28}+1.84\%$
test_reshape_td 79.4420μs 44.4510μs 22.4967 KOps/s 22.6073 KOps/s $\color{#d91a1a}-0.49\%$
test_view_pytree 0.2268ms 32.8586μs 30.4334 KOps/s 29.8110 KOps/s $\color{#35bf28}+2.09\%$
test_view_td 89.7620μs 52.2626μs 19.1341 KOps/s 18.7893 KOps/s $\color{#35bf28}+1.84\%$
test_unbind_pytree 0.2419ms 36.9372μs 27.0729 KOps/s 26.3406 KOps/s $\color{#35bf28}+2.78\%$
test_unbind_td 0.2005ms 48.6430μs 20.5579 KOps/s 19.9215 KOps/s $\color{#35bf28}+3.19\%$
test_split_pytree 0.2552ms 42.7876μs 23.3712 KOps/s 23.3838 KOps/s $\color{#d91a1a}-0.05\%$
test_split_td 0.1954ms 64.8269μs 15.4257 KOps/s 15.4891 KOps/s $\color{#d91a1a}-0.41\%$
test_add_pytree 0.2351ms 41.6779μs 23.9935 KOps/s 23.4957 KOps/s $\color{#35bf28}+2.12\%$
test_add_td 97.0720μs 51.7978μs 19.3058 KOps/s 18.2651 KOps/s $\textbf{\color{#35bf28}+5.70\%}$
test_compile_add_one_nested[tensordict-compile] 0.2105ms 0.1414ms 7.0745 KOps/s 6.7993 KOps/s $\color{#35bf28}+4.05\%$
test_compile_add_one_nested[tensordict-eager] 0.3978ms 0.1937ms 5.1632 KOps/s 5.2289 KOps/s $\color{#d91a1a}-1.26\%$
test_compile_add_one_nested[pytree-compile] 0.3174ms 0.1101ms 9.0829 KOps/s 9.0451 KOps/s $\color{#35bf28}+0.42\%$
test_compile_add_one_nested[pytree-eager] 0.4376ms 0.1788ms 5.5916 KOps/s 5.4057 KOps/s $\color{#35bf28}+3.44\%$
test_compile_copy_nested[tensordict-compile] 0.1978ms 31.7985μs 31.4480 KOps/s 30.4628 KOps/s $\color{#35bf28}+3.23\%$
test_compile_copy_nested[tensordict-eager] 98.6420μs 51.9858μs 19.2360 KOps/s 18.9909 KOps/s $\color{#35bf28}+1.29\%$
test_compile_copy_nested[pytree-compile] 0.1090ms 10.0666μs 99.3383 KOps/s 99.6972 KOps/s $\color{#d91a1a}-0.36\%$
test_compile_copy_nested[pytree-eager] 0.4563ms 67.9404μs 14.7188 KOps/s 14.1975 KOps/s $\color{#35bf28}+3.67\%$
test_compile_add_one_flat[tensordict-compile] 0.2185ms 0.1785ms 5.6033 KOps/s 5.3864 KOps/s $\color{#35bf28}+4.03\%$
test_compile_add_one_flat[tensordict-eager] 0.3329ms 0.2529ms 3.9543 KOps/s 3.9321 KOps/s $\color{#35bf28}+0.56\%$
test_compile_add_one_flat[tensorclass-compile] 0.2039ms 0.1225ms 8.1600 KOps/s 8.3372 KOps/s $\color{#d91a1a}-2.13\%$
test_compile_add_one_flat[tensorclass-eager] 0.1109ms 68.3776μs 14.6247 KOps/s 14.4619 KOps/s $\color{#35bf28}+1.13\%$
test_compile_add_one_flat[pytree-compile] 0.1960ms 0.1599ms 6.2542 KOps/s 6.0818 KOps/s $\color{#35bf28}+2.84\%$
test_compile_add_one_flat[pytree-eager] 0.7992ms 0.5179ms 1.9309 KOps/s 1.8106 KOps/s $\textbf{\color{#35bf28}+6.64\%}$
test_compile_add_self_flat[tensordict-eager] 0.3926ms 0.3069ms 3.2586 KOps/s 3.2122 KOps/s $\color{#35bf28}+1.45\%$
test_compile_add_self_flat[tensordict-compile] 0.2223ms 0.1814ms 5.5125 KOps/s 5.2360 KOps/s $\textbf{\color{#35bf28}+5.28\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1268ms 86.6038μs 11.5468 KOps/s 11.7864 KOps/s $\color{#d91a1a}-2.03\%$
test_compile_add_self_flat[tensorclass-compile] 0.2389ms 0.1215ms 8.2305 KOps/s 8.1077 KOps/s $\color{#35bf28}+1.51\%$
test_compile_add_self_flat[pytree-eager] 0.6793ms 0.4310ms 2.3200 KOps/s 2.2720 KOps/s $\color{#35bf28}+2.11\%$
test_compile_add_self_flat[pytree-compile] 0.2216ms 0.1603ms 6.2391 KOps/s 6.1584 KOps/s $\color{#35bf28}+1.31\%$
test_compile_copy_flat[tensordict-compile] 62.8910μs 23.6668μs 42.2532 KOps/s 39.2476 KOps/s $\textbf{\color{#35bf28}+7.66\%}$
test_compile_copy_flat[tensordict-eager] 71.3620μs 40.8704μs 24.4676 KOps/s 24.4949 KOps/s $\color{#d91a1a}-0.11\%$
test_compile_copy_flat[pytree-compile] 0.1309ms 10.8107μs 92.5007 KOps/s 92.8479 KOps/s $\color{#d91a1a}-0.37\%$
test_compile_copy_flat[pytree-eager] 0.4093ms 52.3027μs 19.1195 KOps/s 19.2674 KOps/s $\color{#d91a1a}-0.77\%$
test_compile_assign_and_add[tensordict-compile] 2.0263ms 0.1753ms 5.7054 KOps/s 5.2837 KOps/s $\textbf{\color{#35bf28}+7.98\%}$
test_compile_assign_and_add[tensordict-eager] 3.3753ms 3.2495ms 307.7440 Ops/s 295.2415 Ops/s $\color{#35bf28}+4.23\%$
test_compile_assign_and_add[pytree-compile] 1.9915ms 0.1645ms 6.0808 KOps/s 6.0660 KOps/s $\color{#35bf28}+0.24\%$
test_compile_assign_and_add[pytree-eager] 3.0381ms 2.8232ms 354.2122 Ops/s 346.8798 Ops/s $\color{#35bf28}+2.11\%$
test_compile_indexing[tensor-tensordict-compile] 0.1841ms 0.1096ms 9.1251 KOps/s 9.0839 KOps/s $\color{#35bf28}+0.45\%$
test_compile_indexing[tensor-tensordict-eager] 0.3135ms 72.1492μs 13.8602 KOps/s 13.5366 KOps/s $\color{#35bf28}+2.39\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2108ms 98.2514μs 10.1780 KOps/s 10.3258 KOps/s $\color{#d91a1a}-1.43\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2618ms 44.6406μs 22.4011 KOps/s 21.8407 KOps/s $\color{#35bf28}+2.57\%$
test_compile_indexing[tensor-pytree-compile] 0.1571ms 0.1013ms 9.8718 KOps/s 10.2620 KOps/s $\color{#d91a1a}-3.80\%$
test_compile_indexing[tensor-pytree-eager] 0.2713ms 48.5567μs 20.5945 KOps/s 21.9015 KOps/s $\textbf{\color{#d91a1a}-5.97\%}$
test_compile_indexing[slice-tensordict-compile] 0.1989ms 56.7950μs 17.6072 KOps/s 17.8915 KOps/s $\color{#d91a1a}-1.59\%$
test_compile_indexing[slice-tensordict-eager] 0.2263ms 27.8901μs 35.8550 KOps/s 35.0795 KOps/s $\color{#35bf28}+2.21\%$
test_compile_indexing[slice-tensorclass-compile] 0.1868ms 46.2491μs 21.6221 KOps/s 22.0223 KOps/s $\color{#d91a1a}-1.82\%$
test_compile_indexing[slice-tensorclass-eager] 0.2603ms 22.6132μs 44.2220 KOps/s 43.2261 KOps/s $\color{#35bf28}+2.30\%$
test_compile_indexing[slice-pytree-compile] 83.1510μs 45.7529μs 21.8565 KOps/s 21.5293 KOps/s $\color{#35bf28}+1.52\%$
test_compile_indexing[slice-pytree-eager] 0.2728ms 22.5197μs 44.4055 KOps/s 43.4401 KOps/s $\color{#35bf28}+2.22\%$
test_compile_indexing[int-tensordict-compile] 0.1081ms 57.5029μs 17.3904 KOps/s 17.4048 KOps/s $\color{#d91a1a}-0.08\%$
test_compile_indexing[int-tensordict-eager] 0.3380ms 27.3512μs 36.5615 KOps/s 35.9509 KOps/s $\color{#35bf28}+1.70\%$
test_compile_indexing[int-tensorclass-compile] 88.8220μs 45.9657μs 21.7554 KOps/s 21.5679 KOps/s $\color{#35bf28}+0.87\%$
test_compile_indexing[int-tensorclass-eager] 0.2661ms 22.2385μs 44.9671 KOps/s 43.3283 KOps/s $\color{#35bf28}+3.78\%$
test_compile_indexing[int-pytree-compile] 89.5320μs 46.3561μs 21.5721 KOps/s 20.8963 KOps/s $\color{#35bf28}+3.23\%$
test_compile_indexing[int-pytree-eager] 0.2624ms 22.4605μs 44.5225 KOps/s 43.8158 KOps/s $\color{#35bf28}+1.61\%$
test_mod_add[eager] 0.1122ms 51.0881μs 19.5740 KOps/s 19.5837 KOps/s $\color{#d91a1a}-0.05\%$
test_mod_add[compile] 0.2309ms 0.1039ms 9.6204 KOps/s 9.3469 KOps/s $\color{#35bf28}+2.93\%$
test_mod_add[compile-overhead] 0.3646ms 0.1490ms 6.7111 KOps/s 6.6461 KOps/s $\color{#35bf28}+0.98\%$
test_mod_wrap[eager] 0.3721ms 0.3065ms 3.2625 KOps/s 3.4170 KOps/s $\color{#d91a1a}-4.52\%$
test_mod_wrap[compile] 0.4155ms 0.3484ms 2.8704 KOps/s 2.8495 KOps/s $\color{#35bf28}+0.73\%$
test_mod_wrap[compile-overhead] 7.3063ms 4.0349ms 247.8370 Ops/s 245.3262 Ops/s $\color{#35bf28}+1.02\%$
test_mod_wrap_and_backward[eager] 1.6374ms 1.4963ms 668.3286 Ops/s 657.3010 Ops/s $\color{#35bf28}+1.68\%$
test_mod_wrap_and_backward[compile] 1.5550ms 1.4473ms 690.9371 Ops/s 685.7605 Ops/s $\color{#35bf28}+0.75\%$
test_mod_wrap_and_backward[compile-overhead] 1.3753ms 0.8828ms 1.1328 KOps/s 1.1092 KOps/s $\color{#35bf28}+2.13\%$
test_seq_add[eager] 0.2219ms 0.1600ms 6.2500 KOps/s 6.2815 KOps/s $\color{#d91a1a}-0.50\%$
test_seq_add[compile] 0.1789ms 0.1146ms 8.7229 KOps/s 8.3802 KOps/s $\color{#35bf28}+4.09\%$
test_seq_add[compile-overhead] 0.2047ms 0.1542ms 6.4869 KOps/s 6.3067 KOps/s $\color{#35bf28}+2.86\%$
test_seq_wrap[eager] 0.6305ms 0.5324ms 1.8782 KOps/s 1.8760 KOps/s $\color{#35bf28}+0.12\%$
test_seq_wrap[compile] 0.4809ms 0.3688ms 2.7117 KOps/s 2.6969 KOps/s $\color{#35bf28}+0.55\%$
test_seq_wrap[compile-overhead] 0.3288ms 0.2646ms 3.7799 KOps/s 3.7402 KOps/s $\color{#35bf28}+1.06\%$
test_func_call_runtime[False-eager] 0.9369ms 0.8416ms 1.1882 KOps/s 1.1892 KOps/s $\color{#d91a1a}-0.08\%$
test_func_call_runtime[False-compile] 0.9844ms 0.9120ms 1.0965 KOps/s 1.0853 KOps/s $\color{#35bf28}+1.04\%$
test_func_call_runtime[False-compile-overhead] 0.5546ms 0.4607ms 2.1706 KOps/s 2.1512 KOps/s $\color{#35bf28}+0.90\%$
test_func_call_runtime[True-eager] 1.1638ms 1.0931ms 914.7999 Ops/s 909.2007 Ops/s $\color{#35bf28}+0.62\%$
test_func_call_runtime[True-compile] 0.9835ms 0.9210ms 1.0858 KOps/s 1.0707 KOps/s $\color{#35bf28}+1.41\%$
test_func_call_runtime[True-compile-overhead] 0.5211ms 0.4762ms 2.0999 KOps/s 2.0871 KOps/s $\color{#35bf28}+0.61\%$
test_func_call_cm_runtime[False-eager] 1.0069ms 0.8550ms 1.1695 KOps/s 1.1842 KOps/s $\color{#d91a1a}-1.24\%$
test_func_call_cm_runtime[False-compile] 1.1160ms 0.9138ms 1.0943 KOps/s 1.0850 KOps/s $\color{#35bf28}+0.86\%$
test_func_call_cm_runtime[False-compile-overhead] 0.5313ms 0.4631ms 2.1594 KOps/s 2.1448 KOps/s $\color{#35bf28}+0.68\%$
test_func_call_cm_runtime[True-eager] 1.3257ms 1.2348ms 809.8410 Ops/s 800.4491 Ops/s $\color{#35bf28}+1.17\%$
test_func_call_cm_runtime[True-compile] 1.0261ms 0.9543ms 1.0479 KOps/s 1.0355 KOps/s $\color{#35bf28}+1.20\%$
test_func_call_cm_runtime[True-compile-overhead] 0.5716ms 0.5089ms 1.9649 KOps/s 1.9591 KOps/s $\color{#35bf28}+0.29\%$
test_vmap_func_call_cm_runtime[eager] 2.8892ms 2.3663ms 422.5999 Ops/s 420.5003 Ops/s $\color{#35bf28}+0.50\%$
test_vmap_func_call_cm_runtime[compile] 1.0462ms 0.9690ms 1.0320 KOps/s 1.0128 KOps/s $\color{#35bf28}+1.89\%$
test_vmap_func_call_cm_runtime[compile-overhead] 0.5679ms 0.5105ms 1.9587 KOps/s 1.9229 KOps/s $\color{#35bf28}+1.86\%$
test_distributed 0.6484ms 0.1523ms 6.5640 KOps/s 6.4786 KOps/s $\color{#35bf28}+1.32\%$
test_tdmodule 50.7510μs 29.0054μs 34.4764 KOps/s 34.7190 KOps/s $\color{#d91a1a}-0.70\%$
test_tdmodule_dispatch 91.1410μs 46.8097μs 21.3631 KOps/s 21.1785 KOps/s $\color{#35bf28}+0.87\%$
test_tdseq 56.5010μs 27.7721μs 36.0074 KOps/s 35.6343 KOps/s $\color{#35bf28}+1.05\%$
test_tdseq_dispatch 69.7010μs 48.7492μs 20.5131 KOps/s 20.4384 KOps/s $\color{#35bf28}+0.37\%$
test_instantiation_functorch 2.1361ms 2.0697ms 483.1527 Ops/s 481.7767 Ops/s $\color{#35bf28}+0.29\%$
test_exec_functorch 0.2387ms 0.1814ms 5.5137 KOps/s 5.5121 KOps/s $\color{#35bf28}+0.03\%$
test_exec_functional_call 0.2129ms 0.1638ms 6.1043 KOps/s 6.1066 KOps/s $\color{#d91a1a}-0.04\%$
test_exec_td_decorator 0.4497ms 0.2392ms 4.1810 KOps/s 4.1681 KOps/s $\color{#35bf28}+0.31\%$
test_vmap_mlp_speed_decorator[True-True] 1.0123ms 0.8227ms 1.2156 KOps/s 1.2053 KOps/s $\color{#35bf28}+0.85\%$
test_vmap_mlp_speed_decorator[True-False] 1.0004ms 0.8203ms 1.2190 KOps/s 1.2069 KOps/s $\color{#35bf28}+1.00\%$
test_vmap_mlp_speed_decorator[False-True] 0.9081ms 0.7131ms 1.4023 KOps/s 1.3762 KOps/s $\color{#35bf28}+1.89\%$
test_vmap_mlp_speed_decorator[False-False] 0.9023ms 0.7117ms 1.4051 KOps/s 1.3947 KOps/s $\color{#35bf28}+0.75\%$
test_vmap_transformer_speed_decorator[True-True] 20.5804ms 20.4487ms 48.9029 Ops/s 48.4297 Ops/s $\color{#35bf28}+0.98\%$
test_vmap_transformer_speed_decorator[True-False] 21.0302ms 20.4539ms 48.8904 Ops/s 48.4223 Ops/s $\color{#35bf28}+0.97\%$
test_vmap_transformer_speed_decorator[False-True] 20.9138ms 20.2780ms 49.3144 Ops/s 48.9804 Ops/s $\color{#35bf28}+0.68\%$
test_vmap_transformer_speed_decorator[False-False] 20.9233ms 20.2749ms 49.3221 Ops/s 48.9196 Ops/s $\color{#35bf28}+0.82\%$
test_to_module_speed[True] 2.0675ms 1.4950ms 668.8749 Ops/s 672.3173 Ops/s $\color{#d91a1a}-0.51\%$
test_to_module_speed[False] 1.9617ms 1.4541ms 687.6887 Ops/s 678.9929 Ops/s $\color{#35bf28}+1.28\%$
test_tc_init 67.6220μs 46.2279μs 21.6320 KOps/s 21.2934 KOps/s $\color{#35bf28}+1.59\%$
test_tc_init_tensor_only 27.3710μs 9.8587μs 101.4332 KOps/s 100.8285 KOps/s $\color{#35bf28}+0.60\%$
test_tc_init_nested 0.1301ms 92.7129μs 10.7860 KOps/s 10.6096 KOps/s $\color{#35bf28}+1.66\%$
test_tc_init_many_fields 42.8210μs 16.8663μs 59.2899 KOps/s 60.2922 KOps/s $\color{#d91a1a}-1.66\%$
test_tc_first_layer_tensor 18.9100μs 1.8593μs 537.8233 KOps/s 536.8443 KOps/s $\color{#35bf28}+0.18\%$
test_tc_first_layer_tensor_only 5.1359μs 0.7633μs 1.3101 MOps/s 1.3233 MOps/s $\color{#d91a1a}-1.00\%$
test_tc_first_layer_tensor_set 31.6710μs 4.2630μs 234.5748 KOps/s 236.4584 KOps/s $\color{#d91a1a}-0.80\%$
test_tc_first_layer_tensor_only_set 32.9410μs 3.1711μs 315.3510 KOps/s 315.4238 KOps/s $\color{#d91a1a}-0.02\%$
test_tc_first_layer_nontensor 34.7310μs 6.2078μs 161.0864 KOps/s 159.1015 KOps/s $\color{#35bf28}+1.25\%$
test_tc_second_layer_tensor 28.6610μs 4.4240μs 226.0400 KOps/s 222.8248 KOps/s $\color{#35bf28}+1.44\%$
test_tc_second_layer_nontensor 37.9800μs 8.8398μs 113.1242 KOps/s 112.0185 KOps/s $\color{#35bf28}+0.99\%$
test_unbind 0.2588s 15.9563ms 62.6713 Ops/s 66.2044 Ops/s $\textbf{\color{#d91a1a}-5.34\%}$
test_full_like 5.4704ms 4.3739ms 228.6297 Ops/s 227.2859 Ops/s $\color{#35bf28}+0.59\%$
test_zeros_like 4.4914ms 4.3524ms 229.7563 Ops/s 229.1623 Ops/s $\color{#35bf28}+0.26\%$
test_ones_like 4.4754ms 4.3604ms 229.3344 Ops/s 228.5960 Ops/s $\color{#35bf28}+0.32\%$
test_clone 11.8012ms 9.2432ms 108.1873 Ops/s 155.5771 Ops/s $\textbf{\color{#d91a1a}-30.46\%}$
test_squeeze 0.1710ms 14.4950μs 68.9891 KOps/s 68.5598 KOps/s $\color{#35bf28}+0.63\%$
test_unsqueeze 0.1624ms 0.1095ms 9.1298 KOps/s 8.8280 KOps/s $\color{#35bf28}+3.42\%$
test_split 0.2357ms 0.1837ms 5.4433 KOps/s 5.2435 KOps/s $\color{#35bf28}+3.81\%$
test_permute 0.2645ms 0.2044ms 4.8932 KOps/s 4.8436 KOps/s $\color{#35bf28}+1.02\%$
test_stack 52.4007ms 51.2183ms 19.5243 Ops/s 19.5669 Ops/s $\color{#d91a1a}-0.22\%$
test_cat 51.3373ms 51.1588ms 19.5470 Ops/s 19.5648 Ops/s $\color{#d91a1a}-0.09\%$

Xmaster6y pushed a commit to Xmaster6y/tensordict that referenced this pull request Feb 27, 2026
…sorDict

Adds two convenience classmethods for common construction patterns:

- from_tensordict(td, host=...): Upload a local TensorDict to Redis in
  one call, preserving batch_size and device.

- from_redis(td_id=..., host=...): Reconnect to an existing
  RedisTensorDict on a (potentially remote) Redis server by its td_id.
  Reads batch_size and device from stored metadata. This is the
  cross-node entry point: one process writes, another calls from_redis
  with the same td_id to read the data.


ghstack-source-id: 9cc0f24
Pull-Request: pytorch#1568
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. Feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant