Skip to content

[BugFix] Fix _SubTensorDict memmap round trip - #1736

Merged
vmoens merged 1 commit into
mainfrom
claude/elegant-benz-baa161
Jul 9, 2026
Merged

[BugFix] Fix _SubTensorDict memmap round trip#1736
vmoens merged 1 commit into
mainfrom
claude/elegant-benz-baa161

Conversation

@vmoens

@vmoens vmoens commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Description

Saving a _SubTensorDict via memmap and loading it back was broken:

td = TensorDict({"a": torch.randn(4, 3, 2, 1, 5)}, batch_size=[4, 3, 2, 1])
sub = td._get_sub_tensordict((slice(None), slice(0, 2)))  # batch [4, 2, 2, 1]
sub.memmap(path, copy_existing=True)
loaded = TensorDict.load_memmap(path)
loaded.batch_size  # [2, 2, 1] -- wrong
loaded["a"]        # TypeError: new(): invalid data type 'str'

Root cause: the index metadata did not survive the JSON round trip. _index_to_str encoded tuples as tuples, but JSON serializes tuples as arrays, so _str_to_index received plain lists on load and returned them untouched — the ("slice", {...}) markers were never decoded. Indexing with the literal string "slice" raised the TypeError, and the malformed list-of-lists index (interpreted as advanced indexing) produced the wrong batch_size. In addition, the tuple branch of _str_to_index recursed into _index_to_str (the encoder) instead of itself.

Changes

  • _index_to_str now tags containers explicitly (("tuple", [...]), ("list", [...]), ("ellipsis",)) so tuple indices and advanced list indices remain distinguishable after JSON. _str_to_index decodes all tags, accepts lists as well as tuples, and keeps a legacy fallback that decodes old untagged metadata as a tuple of indices.
  • _SubTensorDict._load_memmap accepts out: a _SubTensorDict output loads into out._source, which makes load_memmap_ work on sub-tensordicts; any other output type raises a TypeError.
  • TensorDictBase.load_memmap forwards device and out when dispatching to a different class (they were silently dropped), and the post-load _sync_all() now applies on the dispatched path too.

Tests

New TestSubTensorDictMemmapRoundtrip in test/tensordict/test_methods.py: round trip over slice/tensor/list/int indices (checking type, batch size, and values including nested keys), device pass-through on the dispatched path (device="meta"), load_memmap_ into an existing sub-tensordict, and decoding of legacy untagged index metadata.

Generated with Claude Code

Loading a memmap-saved _SubTensorDict returned a wrong batch_size and
crashed on key access because the index metadata did not survive the
JSON round trip: tuples were serialized as JSON arrays but
_str_to_index only handled tuples, and its tuple branch recursed into
_index_to_str instead of itself.

- Tag containers explicitly in _index_to_str (tuple/list/ellipsis) so
  tuple indices and advanced list indices stay distinguishable after
  JSON; keep a legacy fallback decoding old untagged metadata.
- Accept `out` in _SubTensorDict._load_memmap (loads into out._source),
  making load_memmap_ work on sub-tensordicts.
- Forward device/out when TensorDictBase.load_memmap dispatches to a
  different class, and apply the post-load sync on that path too.
- Add regression tests for the round trip, device pass-through and
  load_memmap_.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@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 Jul 9, 2026
@github-actions github-actions Bot added Test bug Something isn't working labels Jul 9, 2026
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

$\color{#D29922}\textsf{\Large&amp;#x26A0;\kern{0.2cm}\normalsize Warning}$ Result of CPU Benchmark Tests

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

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2085ms 0.1709ms 5.8508 KOps/s 6.1273 KOps/s $\color{#d91a1a}-4.51\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3658ms 0.2980ms 3.3554 KOps/s 3.4047 KOps/s $\color{#d91a1a}-1.45\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.8546ms 0.7865ms 1.2715 KOps/s 1.2679 KOps/s $\color{#35bf28}+0.28\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.4407ms 0.3451ms 2.8973 KOps/s 2.9531 KOps/s $\color{#d91a1a}-1.89\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.2880ms 1.1226ms 890.7504 Ops/s 931.7173 Ops/s $\color{#d91a1a}-4.40\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.5174ms 7.3343ms 136.3451 Ops/s 134.9917 Ops/s $\color{#35bf28}+1.00\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.3076ms 0.2550ms 3.9222 KOps/s 4.0056 KOps/s $\color{#d91a1a}-2.08\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.4532ms 0.3807ms 2.6266 KOps/s 2.6734 KOps/s $\color{#d91a1a}-1.75\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9491ms 0.8374ms 1.1941 KOps/s 1.2045 KOps/s $\color{#d91a1a}-0.86\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.2987ms 0.2557ms 3.9112 KOps/s 4.0041 KOps/s $\color{#d91a1a}-2.32\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.4513ms 0.3809ms 2.6255 KOps/s 2.6745 KOps/s $\color{#d91a1a}-1.83\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9416ms 0.8938ms 1.1188 KOps/s 1.1253 KOps/s $\color{#d91a1a}-0.58\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2704ms 0.2140ms 4.6733 KOps/s 4.7797 KOps/s $\color{#d91a1a}-2.23\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.8898ms 0.8426ms 1.1868 KOps/s 1.2265 KOps/s $\color{#d91a1a}-3.23\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.4319ms 3.3288ms 300.4118 Ops/s 312.9978 Ops/s $\color{#d91a1a}-4.02\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.5141ms 0.3666ms 2.7280 KOps/s 2.7242 KOps/s $\color{#35bf28}+0.14\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 1.9758ms 1.7073ms 585.7355 Ops/s 616.4879 Ops/s $\color{#d91a1a}-4.99\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.4769ms 10.1846ms 98.1875 Ops/s 99.4205 Ops/s $\color{#d91a1a}-1.24\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4208ms 0.3973ms 2.5172 KOps/s 2.6039 KOps/s $\color{#d91a1a}-3.33\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.5837ms 1.4907ms 670.8325 Ops/s 694.5355 Ops/s $\color{#d91a1a}-3.41\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 6.0544ms 5.8126ms 172.0389 Ops/s 177.6499 Ops/s $\color{#d91a1a}-3.16\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4680ms 0.3972ms 2.5176 KOps/s 2.5984 KOps/s $\color{#d91a1a}-3.11\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5947ms 1.4880ms 672.0425 Ops/s 697.1292 Ops/s $\color{#d91a1a}-3.60\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 6.0007ms 5.8551ms 170.7912 Ops/s 177.3812 Ops/s $\color{#d91a1a}-3.72\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2155ms 0.1728ms 5.7855 KOps/s 5.7978 KOps/s $\color{#d91a1a}-0.21\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7479ms 0.6684ms 1.4961 KOps/s 1.5020 KOps/s $\color{#d91a1a}-0.39\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7503ms 2.6620ms 375.6574 Ops/s 377.1398 Ops/s $\color{#d91a1a}-0.39\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.4200ms 0.3258ms 3.0695 KOps/s 3.1091 KOps/s $\color{#d91a1a}-1.27\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.7032ms 1.5272ms 654.7765 Ops/s 685.4946 Ops/s $\color{#d91a1a}-4.48\%$
test_collector_preallocated_write[copy_at-cpu-4096-32] 9.5912ms 9.4719ms 105.5750 Ops/s 105.6933 Ops/s $\color{#d91a1a}-0.11\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.3828ms 0.3264ms 3.0639 KOps/s 3.0749 KOps/s $\color{#d91a1a}-0.36\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.2464ms 1.2164ms 822.1176 Ops/s 838.3080 Ops/s $\color{#d91a1a}-1.93\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.8729ms 4.7655ms 209.8432 Ops/s 215.4828 Ops/s $\color{#d91a1a}-2.62\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.3962ms 0.3284ms 3.0447 KOps/s 3.1197 KOps/s $\color{#d91a1a}-2.40\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.3684ms 1.2240ms 817.0192 Ops/s 834.9707 Ops/s $\color{#d91a1a}-2.15\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.9916ms 4.8075ms 208.0102 Ops/s 212.8800 Ops/s $\color{#d91a1a}-2.29\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1634ms 0.1250ms 7.9975 KOps/s 8.5309 KOps/s $\textbf{\color{#d91a1a}-6.25\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5613ms 0.4894ms 2.0433 KOps/s 2.1598 KOps/s $\textbf{\color{#d91a1a}-5.39\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.9972ms 1.9519ms 512.3324 Ops/s 542.0646 Ops/s $\textbf{\color{#d91a1a}-5.48\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3438ms 0.2682ms 3.7287 KOps/s 3.6034 KOps/s $\color{#35bf28}+3.48\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.4012ms 1.2805ms 780.9655 Ops/s 831.4488 Ops/s $\textbf{\color{#d91a1a}-6.07\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 8.7590ms 8.5515ms 116.9384 Ops/s 118.5477 Ops/s $\color{#d91a1a}-1.36\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3365ms 0.2825ms 3.5401 KOps/s 3.7537 KOps/s $\textbf{\color{#d91a1a}-5.69\%}$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.1880ms 1.0475ms 954.6923 Ops/s 1.0058 KOps/s $\textbf{\color{#d91a1a}-5.08\%}$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.2208ms 4.1157ms 242.9723 Ops/s 258.2402 Ops/s $\textbf{\color{#d91a1a}-5.91\%}$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3718ms 0.2810ms 3.5583 KOps/s 3.7244 KOps/s $\color{#d91a1a}-4.46\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.1854ms 1.0508ms 951.6905 Ops/s 992.5788 Ops/s $\color{#d91a1a}-4.12\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.3406ms 4.1308ms 242.0837 Ops/s 258.4330 Ops/s $\textbf{\color{#d91a1a}-6.33\%}$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 16.4577ms 16.3073ms 61.3222 Ops/s 61.1023 Ops/s $\color{#35bf28}+0.36\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.3262ms 33.1854ms 30.1338 Ops/s 30.2501 Ops/s $\color{#d91a1a}-0.38\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 84.1725ms 83.7537ms 11.9398 Ops/s 12.0067 Ops/s $\color{#d91a1a}-0.56\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.2011s 0.2005s 4.9883 Ops/s 5.0834 Ops/s $\color{#d91a1a}-1.87\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 14.0764ms 13.9007ms 71.9390 Ops/s 71.8583 Ops/s $\color{#35bf28}+0.11\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.2308ms 27.0804ms 36.9270 Ops/s 36.9126 Ops/s $\color{#35bf28}+0.04\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.2006ms 14.0294ms 71.2789 Ops/s 71.3129 Ops/s $\color{#d91a1a}-0.05\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 27.7364ms 27.3877ms 36.5127 Ops/s 36.5369 Ops/s $\color{#d91a1a}-0.07\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 52.7328ms 52.5477ms 19.0303 Ops/s 19.7815 Ops/s $\color{#d91a1a}-3.80\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1059s 0.1057s 9.4627 Ops/s 9.7523 Ops/s $\color{#d91a1a}-2.97\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1443s 0.1436s 6.9645 Ops/s 6.9675 Ops/s $\color{#d91a1a}-0.04\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3325s 0.3270s 3.0577 Ops/s 3.1828 Ops/s $\color{#d91a1a}-3.93\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 74.7535ms 74.1485ms 13.4864 Ops/s 13.8560 Ops/s $\color{#d91a1a}-2.67\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1519s 0.1495s 6.6881 Ops/s 6.9751 Ops/s $\color{#d91a1a}-4.12\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 78.8596ms 75.6760ms 13.2142 Ops/s 13.8839 Ops/s $\color{#d91a1a}-4.82\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1574s 0.1529s 6.5382 Ops/s 6.8594 Ops/s $\color{#d91a1a}-4.68\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.5326ms 30.3143ms 32.9878 Ops/s 33.3275 Ops/s $\color{#d91a1a}-1.02\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.3593ms 61.1596ms 16.3507 Ops/s 16.4197 Ops/s $\color{#d91a1a}-0.42\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1185s 0.1181s 8.4659 Ops/s 8.4880 Ops/s $\color{#d91a1a}-0.26\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2643s 0.2634s 3.7968 Ops/s 3.8402 Ops/s $\color{#d91a1a}-1.13\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 44.0990ms 43.9638ms 22.7460 Ops/s 23.2976 Ops/s $\color{#d91a1a}-2.37\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 88.2136ms 88.0040ms 11.3631 Ops/s 11.6200 Ops/s $\color{#d91a1a}-2.21\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 44.6785ms 44.2461ms 22.6008 Ops/s 23.1330 Ops/s $\color{#d91a1a}-2.30\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 88.7169ms 88.5367ms 11.2947 Ops/s 11.5557 Ops/s $\color{#d91a1a}-2.26\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 21.2226ms 21.0561ms 47.4921 Ops/s 49.7612 Ops/s $\color{#d91a1a}-4.56\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 45.2563ms 43.2090ms 23.1433 Ops/s 24.4421 Ops/s $\textbf{\color{#d91a1a}-5.31\%}$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1064s 0.1060s 9.4345 Ops/s 9.3633 Ops/s $\color{#35bf28}+0.76\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2402s 0.2396s 4.1735 Ops/s 4.1039 Ops/s $\color{#35bf28}+1.70\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 38.2050ms 37.8421ms 26.4256 Ops/s 28.0515 Ops/s $\textbf{\color{#d91a1a}-5.80\%}$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 75.4954ms 75.2550ms 13.2881 Ops/s 13.9620 Ops/s $\color{#d91a1a}-4.83\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 37.8860ms 37.5996ms 26.5961 Ops/s 28.0927 Ops/s $\textbf{\color{#d91a1a}-5.33\%}$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 75.6019ms 75.1768ms 13.3020 Ops/s 14.0060 Ops/s $\textbf{\color{#d91a1a}-5.03\%}$
test_plain_set_nested 45.3810μs 15.3708μs 65.0582 KOps/s 66.7962 KOps/s $\color{#d91a1a}-2.60\%$
test_plain_set_stack_nested 38.9610μs 14.9229μs 67.0113 KOps/s 68.9747 KOps/s $\color{#d91a1a}-2.85\%$
test_plain_set_nested_inplace 47.4810μs 16.5691μs 60.3533 KOps/s 60.8999 KOps/s $\color{#d91a1a}-0.90\%$
test_plain_set_stack_nested_inplace 45.8710μs 16.1599μs 61.8816 KOps/s 61.8987 KOps/s $\color{#d91a1a}-0.03\%$
test_items 33.3210μs 6.0907μs 164.1852 KOps/s 167.4399 KOps/s $\color{#d91a1a}-1.94\%$
test_items_nested 0.5618ms 0.4609ms 2.1695 KOps/s 2.1916 KOps/s $\color{#d91a1a}-1.01\%$
test_items_nested_locked 0.5492ms 0.4666ms 2.1434 KOps/s 2.1826 KOps/s $\color{#d91a1a}-1.80\%$
test_items_nested_leaf 0.1357ms 99.7599μs 10.0241 KOps/s 10.1599 KOps/s $\color{#d91a1a}-1.34\%$
test_items_stack_nested 0.5354ms 0.4660ms 2.1460 KOps/s 2.1976 KOps/s $\color{#d91a1a}-2.35\%$
test_items_stack_nested_leaf 0.1273ms 99.6982μs 10.0303 KOps/s 10.3132 KOps/s $\color{#d91a1a}-2.74\%$
test_items_stack_nested_locked 0.5668ms 0.4706ms 2.1250 KOps/s 2.1836 KOps/s $\color{#d91a1a}-2.69\%$
test_keys 24.6400μs 4.2891μs 233.1481 KOps/s 231.1543 KOps/s $\color{#35bf28}+0.86\%$
test_keys_nested 0.1666ms 0.1294ms 7.7290 KOps/s 7.7435 KOps/s $\color{#d91a1a}-0.19\%$
test_keys_nested_locked 0.7712ms 0.1361ms 7.3496 KOps/s 7.2641 KOps/s $\color{#35bf28}+1.18\%$
test_keys_nested_leaf 0.1906ms 0.1192ms 8.3901 KOps/s 8.2986 KOps/s $\color{#35bf28}+1.10\%$
test_keys_stack_nested 0.1747ms 0.1281ms 7.8094 KOps/s 7.7600 KOps/s $\color{#35bf28}+0.64\%$
test_keys_stack_nested_leaf 0.1619ms 0.1197ms 8.3518 KOps/s 8.3388 KOps/s $\color{#35bf28}+0.16\%$
test_keys_stack_nested_locked 0.1757ms 0.1376ms 7.2684 KOps/s 7.2613 KOps/s $\color{#35bf28}+0.10\%$
test_values 3.0590μs 1.0391μs 962.3957 KOps/s 964.9166 KOps/s $\color{#d91a1a}-0.26\%$
test_values_nested 84.3020μs 53.3809μs 18.7333 KOps/s 19.0799 KOps/s $\color{#d91a1a}-1.82\%$
test_values_nested_locked 87.2520μs 55.9580μs 17.8705 KOps/s 17.7998 KOps/s $\color{#35bf28}+0.40\%$
test_values_nested_leaf 88.7920μs 60.4803μs 16.5343 KOps/s 16.4401 KOps/s $\color{#35bf28}+0.57\%$
test_values_stack_nested 0.1090ms 51.6876μs 19.3470 KOps/s 19.1011 KOps/s $\color{#35bf28}+1.29\%$
test_values_stack_nested_leaf 98.6220μs 60.4955μs 16.5301 KOps/s 16.4920 KOps/s $\color{#35bf28}+0.23\%$
test_values_stack_nested_locked 82.6410μs 56.7543μs 17.6198 KOps/s 17.7727 KOps/s $\color{#d91a1a}-0.86\%$
test_membership 4.8483μs 0.8409μs 1.1892 MOps/s 1.1821 MOps/s $\color{#35bf28}+0.60\%$
test_membership_nested 36.0300μs 2.9460μs 339.4416 KOps/s 339.9964 KOps/s $\color{#d91a1a}-0.16\%$
test_membership_nested_leaf 29.3800μs 2.9442μs 339.6557 KOps/s 339.0929 KOps/s $\color{#35bf28}+0.17\%$
test_membership_stacked_nested 17.6810μs 2.8323μs 353.0645 KOps/s 348.2669 KOps/s $\color{#35bf28}+1.38\%$
test_membership_stacked_nested_leaf 23.7110μs 2.8180μs 354.8587 KOps/s 349.8454 KOps/s $\color{#35bf28}+1.43\%$
test_membership_nested_last 59.0620μs 4.3987μs 227.3375 KOps/s 222.9670 KOps/s $\color{#35bf28}+1.96\%$
test_membership_nested_leaf_last 32.7010μs 4.4404μs 225.2060 KOps/s 225.7023 KOps/s $\color{#d91a1a}-0.22\%$
test_membership_stacked_nested_last 37.5810μs 4.2862μs 233.3094 KOps/s 232.5159 KOps/s $\color{#35bf28}+0.34\%$
test_membership_stacked_nested_leaf_last 35.3110μs 4.2674μs 234.3352 KOps/s 233.4930 KOps/s $\color{#35bf28}+0.36\%$
test_nested_getleaf 94.0220μs 21.4545μs 46.6102 KOps/s 46.6754 KOps/s $\color{#d91a1a}-0.14\%$
test_nested_get 47.3110μs 20.2835μs 49.3012 KOps/s 48.3164 KOps/s $\color{#35bf28}+2.04\%$
test_stacked_getleaf 53.0220μs 20.9171μs 47.8078 KOps/s 47.1513 KOps/s $\color{#35bf28}+1.39\%$
test_stacked_get 45.8410μs 20.0818μs 49.7963 KOps/s 49.9692 KOps/s $\color{#d91a1a}-0.35\%$
test_nested_getitemleaf 58.7510μs 22.2045μs 45.0359 KOps/s 45.3629 KOps/s $\color{#d91a1a}-0.72\%$
test_nested_getitem 92.6320μs 20.7355μs 48.2266 KOps/s 47.8535 KOps/s $\color{#35bf28}+0.78\%$
test_stacked_getitemleaf 57.6420μs 21.7218μs 46.0368 KOps/s 45.8156 KOps/s $\color{#35bf28}+0.48\%$
test_stacked_getitem 45.8710μs 20.3246μs 49.2014 KOps/s 48.4608 KOps/s $\color{#35bf28}+1.53\%$
test_lock_nested 0.5828ms 0.5077ms 1.9697 KOps/s 1.9732 KOps/s $\color{#d91a1a}-0.18\%$
test_lock_stack_nested 0.5988ms 0.5146ms 1.9432 KOps/s 1.9688 KOps/s $\color{#d91a1a}-1.30\%$
test_unlock_nested 0.4917ms 0.4066ms 2.4597 KOps/s 2.5053 KOps/s $\color{#d91a1a}-1.82\%$
test_unlock_stack_nested 0.4382ms 0.4068ms 2.4580 KOps/s 2.4964 KOps/s $\color{#d91a1a}-1.54\%$
test_flatten_speed 0.1592ms 0.1230ms 8.1305 KOps/s 8.0641 KOps/s $\color{#35bf28}+0.82\%$
test_unflatten_speed 0.6467ms 0.5607ms 1.7834 KOps/s 1.7876 KOps/s $\color{#d91a1a}-0.23\%$
test_common_ops 0.8576ms 0.7034ms 1.4216 KOps/s 1.4237 KOps/s $\color{#d91a1a}-0.14\%$
test_creation 0.1024ms 3.1425μs 318.2182 KOps/s 311.2794 KOps/s $\color{#35bf28}+2.23\%$
test_creation_empty 37.2610μs 7.0057μs 142.7399 KOps/s 141.1114 KOps/s $\color{#35bf28}+1.15\%$
test_creation_nested_1 70.7910μs 11.4528μs 87.3147 KOps/s 86.8613 KOps/s $\color{#35bf28}+0.52\%$
test_creation_nested_2 44.6910μs 13.5431μs 73.8386 KOps/s 73.7471 KOps/s $\color{#35bf28}+0.12\%$
test_creation_many_keys[10] 57.4920μs 21.1520μs 47.2769 KOps/s 46.9598 KOps/s $\color{#35bf28}+0.68\%$
test_creation_many_keys[50] 0.1239ms 91.4406μs 10.9361 KOps/s 10.8946 KOps/s $\color{#35bf28}+0.38\%$
test_creation_many_keys[100] 0.2202ms 0.1797ms 5.5638 KOps/s 5.5907 KOps/s $\color{#d91a1a}-0.48\%$
test_creation_nested_many_keys[10] 83.2820μs 45.1154μs 22.1654 KOps/s 21.7212 KOps/s $\color{#35bf28}+2.05\%$
test_creation_nested_many_keys[50] 0.2548ms 0.1869ms 5.3515 KOps/s 5.3654 KOps/s $\color{#d91a1a}-0.26\%$
test_clone 39.6900μs 13.3081μs 75.1421 KOps/s 77.4386 KOps/s $\color{#d91a1a}-2.97\%$
test_getitem[int] 1.5417ms 15.4234μs 64.8366 KOps/s 65.4560 KOps/s $\color{#d91a1a}-0.95\%$
test_getitem[slice_int] 0.1404ms 25.3557μs 39.4389 KOps/s 40.3737 KOps/s $\color{#d91a1a}-2.32\%$
test_getitem[range] 0.1845ms 65.3436μs 15.3037 KOps/s 16.3366 KOps/s $\textbf{\color{#d91a1a}-6.32\%}$
test_getitem[tuple] 0.1499ms 24.2866μs 41.1749 KOps/s 41.5921 KOps/s $\color{#d91a1a}-1.00\%$
test_getitem[list] 0.1919ms 60.1734μs 16.6186 KOps/s 17.8572 KOps/s $\textbf{\color{#d91a1a}-6.94\%}$
test_setitem_dim[int] 62.8420μs 25.6398μs 39.0019 KOps/s 39.3514 KOps/s $\color{#d91a1a}-0.89\%$
test_setitem_dim[slice_int] 68.6920μs 42.5698μs 23.4908 KOps/s 24.3685 KOps/s $\color{#d91a1a}-3.60\%$
test_setitem_dim[range] 0.1328ms 94.4198μs 10.5910 KOps/s 10.8036 KOps/s $\color{#d91a1a}-1.97\%$
test_setitem_dim[tuple] 74.2720μs 39.3668μs 25.4021 KOps/s 26.0104 KOps/s $\color{#d91a1a}-2.34\%$
test_setitem 50.4810μs 17.7221μs 56.4268 KOps/s 58.9431 KOps/s $\color{#d91a1a}-4.27\%$
test_set 47.0810μs 16.8085μs 59.4937 KOps/s 61.4783 KOps/s $\color{#d91a1a}-3.23\%$
test_set_shared 0.4983ms 0.2050ms 4.8770 KOps/s 4.7418 KOps/s $\color{#35bf28}+2.85\%$
test_update 0.3668ms 21.8834μs 45.6967 KOps/s 47.2869 KOps/s $\color{#d91a1a}-3.36\%$
test_update_nested 70.1020μs 33.8868μs 29.5100 KOps/s 30.4187 KOps/s $\color{#d91a1a}-2.99\%$
test_update__nested 0.4648ms 33.1478μs 30.1679 KOps/s 29.7065 KOps/s $\color{#35bf28}+1.55\%$
test_set_nested 50.5610μs 18.8017μs 53.1866 KOps/s 55.3278 KOps/s $\color{#d91a1a}-3.87\%$
test_set_nested_new 57.1310μs 23.5703μs 42.4262 KOps/s 43.7489 KOps/s $\color{#d91a1a}-3.02\%$
test_select 85.2720μs 40.1498μs 24.9067 KOps/s 25.4500 KOps/s $\color{#d91a1a}-2.13\%$
test_select_nested 0.1156ms 74.7034μs 13.3863 KOps/s 13.5787 KOps/s $\color{#d91a1a}-1.42\%$
test_exclude_nested 0.1233ms 90.9066μs 11.0003 KOps/s 10.9424 KOps/s $\color{#35bf28}+0.53\%$
test_empty[True] 0.4295ms 0.3962ms 2.5237 KOps/s 2.5314 KOps/s $\color{#d91a1a}-0.30\%$
test_empty[False] 7.4502μs 1.3848μs 722.1012 KOps/s 722.9051 KOps/s $\color{#d91a1a}-0.11\%$
test_to 99.4820μs 70.1233μs 14.2606 KOps/s 14.2977 KOps/s $\color{#d91a1a}-0.26\%$
test_to_nonblocking 0.1142ms 69.7368μs 14.3396 KOps/s 14.6359 KOps/s $\color{#d91a1a}-2.02\%$
test_unbind_speed 0.4027ms 0.3430ms 2.9158 KOps/s 3.0033 KOps/s $\color{#d91a1a}-2.91\%$
test_unbind_speed_stack0 0.3751ms 0.3385ms 2.9545 KOps/s 2.9942 KOps/s $\color{#d91a1a}-1.32\%$
test_unbind_speed_stack1 0.1165s 0.8651ms 1.1560 KOps/s 1.1624 KOps/s $\color{#d91a1a}-0.55\%$
test_split 0.1159s 1.4590ms 685.4092 Ops/s 631.5698 Ops/s $\textbf{\color{#35bf28}+8.52\%}$
test_chunk 1.3356ms 1.2417ms 805.3348 Ops/s 811.9097 Ops/s $\color{#d91a1a}-0.81\%$
test_to_cpu_blocking 20.4630ms 20.3961ms 49.0289 Ops/s 50.2787 Ops/s $\color{#d91a1a}-2.49\%$
test_to_cpu_global_sync 0.1273s 13.4148ms 74.5446 Ops/s 86.1976 Ops/s $\textbf{\color{#d91a1a}-13.52\%}$
test_to_cpu_event_sync 13.3748ms 13.0327ms 76.7298 Ops/s 79.1452 Ops/s $\color{#d91a1a}-3.05\%$
test_to_cpu_default 13.4375ms 13.0601ms 76.5689 Ops/s 70.5006 Ops/s $\textbf{\color{#35bf28}+8.61\%}$
test_consolidate[False-None] 4.5621ms 4.2228ms 236.8085 Ops/s 239.6669 Ops/s $\color{#d91a1a}-1.19\%$
test_consolidate[default-None] 3.3724ms 2.3771ms 420.6751 Ops/s 439.4521 Ops/s $\color{#d91a1a}-4.27\%$
test_consolidate[reduce-overhead-None] 4.0640ms 2.2842ms 437.7829 Ops/s 453.0990 Ops/s $\color{#d91a1a}-3.38\%$
test_consolidate_njt[False-None] 5.2579ms 5.1148ms 195.5117 Ops/s 193.5144 Ops/s $\color{#35bf28}+1.03\%$
test_to[False-False-None] 2.3557ms 2.2524ms 443.9780 Ops/s 452.0072 Ops/s $\color{#d91a1a}-1.78\%$
test_to[True-False-None] 2.2650ms 1.9824ms 504.4469 Ops/s 517.2829 Ops/s $\color{#d91a1a}-2.48\%$
test_to[within-False-None] 6.4899ms 6.3256ms 158.0867 Ops/s 158.9386 Ops/s $\color{#d91a1a}-0.54\%$
test_to[True-default-None] 11.0364ms 10.5374ms 94.8998 Ops/s 96.3513 Ops/s $\color{#d91a1a}-1.51\%$
test_to_njt[False-False-None] 7.2227ms 7.0411ms 142.0238 Ops/s 141.4529 Ops/s $\color{#35bf28}+0.40\%$
test_to_njt[True-False-None] 4.0569ms 3.8722ms 258.2524 Ops/s 256.5810 Ops/s $\color{#35bf28}+0.65\%$
test_to_njt[within-False-None] 9.2363ms 9.0793ms 110.1410 Ops/s 49.8536 Ops/s $\textbf{\color{#35bf28}+120.93\%}$
test_creation[device0] 0.4511ms 0.1150ms 8.6922 KOps/s 8.5203 KOps/s $\color{#35bf28}+2.02\%$
test_creation_from_tensor 0.4451ms 0.1158ms 8.6359 KOps/s 8.7430 KOps/s $\color{#d91a1a}-1.23\%$
test_add_one[memmap_tensor0] 0.4090ms 7.0757μs 141.3295 KOps/s 162.3014 KOps/s $\textbf{\color{#d91a1a}-12.92\%}$
test_contiguous[memmap_tensor0] 17.7800μs 0.7234μs 1.3823 MOps/s 1.9179 MOps/s $\textbf{\color{#d91a1a}-27.93\%}$
test_stack[memmap_tensor0] 86.1620μs 4.3063μs 232.2192 KOps/s 245.0445 KOps/s $\textbf{\color{#d91a1a}-5.23\%}$
test_memmaptd_index 1.2196ms 0.2765ms 3.6172 KOps/s 3.7045 KOps/s $\color{#d91a1a}-2.35\%$
test_memmaptd_index_astensor 0.5283ms 0.3812ms 2.6230 KOps/s 2.6892 KOps/s $\color{#d91a1a}-2.46\%$
test_memmaptd_index_op 1.0562ms 0.6364ms 1.5714 KOps/s 1.6199 KOps/s $\color{#d91a1a}-2.99\%$
test_serialize_model 0.1383s 0.1345s 7.4330 Ops/s 7.3322 Ops/s $\color{#35bf28}+1.37\%$
test_serialize_model_pickle 1.3738s 1.2146s 0.8233 Ops/s 0.8267 Ops/s $\color{#d91a1a}-0.41\%$
test_serialize_weights 0.1360s 0.1333s 7.5010 Ops/s 7.3901 Ops/s $\color{#35bf28}+1.50\%$
test_serialize_weights_returnearly 0.3922s 84.9239ms 11.7753 Ops/s 10.8082 Ops/s $\textbf{\color{#35bf28}+8.95\%}$
test_serialize_weights_pickle 1.3584s 1.2118s 0.8252 Ops/s 0.8233 Ops/s $\color{#35bf28}+0.23\%$
test_reshape_pytree 0.2019ms 32.7413μs 30.5425 KOps/s 31.0209 KOps/s $\color{#d91a1a}-1.54\%$
test_reshape_td 91.0720μs 45.5330μs 21.9621 KOps/s 22.1272 KOps/s $\color{#d91a1a}-0.75\%$
test_view_pytree 0.2235ms 31.6186μs 31.6269 KOps/s 31.6799 KOps/s $\color{#d91a1a}-0.17\%$
test_view_td 84.3720μs 54.3096μs 18.4129 KOps/s 18.0497 KOps/s $\color{#35bf28}+2.01\%$
test_unbind_pytree 0.2308ms 36.0579μs 27.7332 KOps/s 27.6919 KOps/s $\color{#35bf28}+0.15\%$
test_unbind_td 0.1732ms 50.4957μs 19.8037 KOps/s 19.9482 KOps/s $\color{#d91a1a}-0.72\%$
test_split_pytree 0.2441ms 41.6028μs 24.0368 KOps/s 24.2000 KOps/s $\color{#d91a1a}-0.67\%$
test_split_td 0.1579ms 71.4726μs 13.9914 KOps/s 14.1777 KOps/s $\color{#d91a1a}-1.31\%$
test_add_pytree 0.2333ms 40.7895μs 24.5161 KOps/s 25.3658 KOps/s $\color{#d91a1a}-3.35\%$
test_add_td 96.5120μs 52.8427μs 18.9241 KOps/s 18.7197 KOps/s $\color{#35bf28}+1.09\%$
test_compile_add_one_nested[tensordict-compile] 0.3599ms 0.2734ms 3.6575 KOps/s 3.7084 KOps/s $\color{#d91a1a}-1.37\%$
test_compile_add_one_nested[tensordict-eager] 0.2720ms 0.2011ms 4.9714 KOps/s 5.0097 KOps/s $\color{#d91a1a}-0.76\%$
test_compile_add_one_nested[pytree-compile] 0.3408ms 0.1557ms 6.4214 KOps/s 6.4486 KOps/s $\color{#d91a1a}-0.42\%$
test_compile_add_one_nested[pytree-eager] 0.4961ms 0.1796ms 5.5676 KOps/s 5.5444 KOps/s $\color{#35bf28}+0.42\%$
test_compile_copy_nested[tensordict-compile] 0.1285ms 30.5199μs 32.7655 KOps/s 44.4891 KOps/s $\textbf{\color{#d91a1a}-26.35\%}$
test_compile_copy_nested[tensordict-eager] 89.4320μs 53.8535μs 18.5689 KOps/s 18.2758 KOps/s $\color{#35bf28}+1.60\%$
test_compile_copy_nested[pytree-compile] 0.1622ms 19.4603μs 51.3868 KOps/s 52.5149 KOps/s $\color{#d91a1a}-2.15\%$
test_compile_copy_nested[pytree-eager] 0.3707ms 67.4688μs 14.8217 KOps/s 14.8449 KOps/s $\color{#d91a1a}-0.16\%$
test_compile_add_one_flat[tensordict-compile] 0.4186ms 0.3087ms 3.2390 KOps/s 3.1298 KOps/s $\color{#35bf28}+3.49\%$
test_compile_add_one_flat[tensordict-eager] 0.3485ms 0.2926ms 3.4180 KOps/s 3.4083 KOps/s $\color{#35bf28}+0.28\%$
test_compile_add_one_flat[tensorclass-compile] 0.3913ms 0.2101ms 4.7596 KOps/s 4.6043 KOps/s $\color{#35bf28}+3.37\%$
test_compile_add_one_flat[tensorclass-eager] 0.1230ms 78.2088μs 12.7863 KOps/s 13.2105 KOps/s $\color{#d91a1a}-3.21\%$
test_compile_add_one_flat[pytree-compile] 0.2980ms 0.2453ms 4.0765 KOps/s 4.0700 KOps/s $\color{#35bf28}+0.16\%$
test_compile_add_one_flat[pytree-eager] 0.8140ms 0.5435ms 1.8398 KOps/s 1.8588 KOps/s $\color{#d91a1a}-1.02\%$
test_compile_add_self_flat[tensordict-eager] 0.3942ms 0.3435ms 2.9116 KOps/s 2.9178 KOps/s $\color{#d91a1a}-0.21\%$
test_compile_add_self_flat[tensordict-compile] 0.4064ms 0.3070ms 3.2575 KOps/s 3.0932 KOps/s $\textbf{\color{#35bf28}+5.31\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1613ms 93.2509μs 10.7238 KOps/s 10.6758 KOps/s $\color{#35bf28}+0.45\%$
test_compile_add_self_flat[tensorclass-compile] 0.2581ms 0.2111ms 4.7370 KOps/s 4.4725 KOps/s $\textbf{\color{#35bf28}+5.91\%}$
test_compile_add_self_flat[pytree-eager] 0.7124ms 0.4481ms 2.2318 KOps/s 2.2512 KOps/s $\color{#d91a1a}-0.86\%$
test_compile_add_self_flat[pytree-compile] 0.6036ms 0.2429ms 4.1161 KOps/s 4.0071 KOps/s $\color{#35bf28}+2.72\%$
test_compile_copy_flat[tensordict-compile] 90.7110μs 26.8224μs 37.2823 KOps/s 36.7898 KOps/s $\color{#35bf28}+1.34\%$
test_compile_copy_flat[tensordict-eager] 80.2620μs 41.1351μs 24.3102 KOps/s 24.4167 KOps/s $\color{#d91a1a}-0.44\%$
test_compile_copy_flat[pytree-compile] 0.1207ms 25.8283μs 38.7173 KOps/s 37.9557 KOps/s $\color{#35bf28}+2.01\%$
test_compile_copy_flat[pytree-eager] 0.3393ms 51.5499μs 19.3987 KOps/s 19.4919 KOps/s $\color{#d91a1a}-0.48\%$
test_compile_assign_and_add[tensordict-compile] 2.1145ms 0.2567ms 3.8958 KOps/s 3.5892 KOps/s $\textbf{\color{#35bf28}+8.54\%}$
test_compile_assign_and_add[tensordict-eager] 3.5894ms 3.3958ms 294.4818 Ops/s 295.3945 Ops/s $\color{#d91a1a}-0.31\%$
test_compile_assign_and_add[pytree-compile] 1.9526ms 0.1949ms 5.1311 KOps/s 4.5117 KOps/s $\textbf{\color{#35bf28}+13.73\%}$
test_compile_assign_and_add[pytree-eager] 3.1494ms 2.8897ms 346.0519 Ops/s 357.3695 Ops/s $\color{#d91a1a}-3.17\%$
test_compile_indexing[tensor-tensordict-compile] 0.3015ms 0.1536ms 6.5117 KOps/s 6.2767 KOps/s $\color{#35bf28}+3.74\%$
test_compile_indexing[tensor-tensordict-eager] 0.3648ms 75.4065μs 13.2615 KOps/s 13.2875 KOps/s $\color{#d91a1a}-0.20\%$
test_compile_indexing[tensor-tensorclass-compile] 0.3037ms 0.1343ms 7.4440 KOps/s 7.4445 KOps/s $-0.01\%$
test_compile_indexing[tensor-tensorclass-eager] 0.3378ms 45.1349μs 22.1558 KOps/s 22.1592 KOps/s $\color{#d91a1a}-0.02\%$
test_compile_indexing[tensor-pytree-compile] 0.1723ms 0.1351ms 7.4015 KOps/s 7.3820 KOps/s $\color{#35bf28}+0.26\%$
test_compile_indexing[tensor-pytree-eager] 0.2645ms 45.1454μs 22.1507 KOps/s 22.1123 KOps/s $\color{#35bf28}+0.17\%$
test_compile_indexing[slice-tensordict-compile] 0.1919ms 93.9963μs 10.6387 KOps/s 11.0189 KOps/s $\color{#d91a1a}-3.45\%$
test_compile_indexing[slice-tensordict-eager] 0.2156ms 28.3322μs 35.2956 KOps/s 35.9769 KOps/s $\color{#d91a1a}-1.89\%$
test_compile_indexing[slice-tensorclass-compile] 0.1962ms 71.8232μs 13.9231 KOps/s 14.1884 KOps/s $\color{#d91a1a}-1.87\%$
test_compile_indexing[slice-tensorclass-eager] 0.2542ms 22.5757μs 44.2953 KOps/s 46.0867 KOps/s $\color{#d91a1a}-3.89\%$
test_compile_indexing[slice-pytree-compile] 0.1170ms 72.8380μs 13.7291 KOps/s 13.8430 KOps/s $\color{#d91a1a}-0.82\%$
test_compile_indexing[slice-pytree-eager] 0.2591ms 22.4761μs 44.4918 KOps/s 46.1280 KOps/s $\color{#d91a1a}-3.55\%$
test_compile_indexing[int-tensordict-compile] 0.1432ms 89.6497μs 11.1545 KOps/s 10.9791 KOps/s $\color{#35bf28}+1.60\%$
test_compile_indexing[int-tensordict-eager] 0.2554ms 27.8046μs 35.9653 KOps/s 36.8730 KOps/s $\color{#d91a1a}-2.46\%$
test_compile_indexing[int-tensorclass-compile] 0.1183ms 73.1027μs 13.6794 KOps/s 13.7456 KOps/s $\color{#d91a1a}-0.48\%$
test_compile_indexing[int-tensorclass-eager] 0.2595ms 22.5412μs 44.3632 KOps/s 46.2035 KOps/s $\color{#d91a1a}-3.98\%$
test_compile_indexing[int-pytree-compile] 0.1145ms 73.1923μs 13.6626 KOps/s 13.8825 KOps/s $\color{#d91a1a}-1.58\%$
test_compile_indexing[int-pytree-eager] 0.2450ms 22.3990μs 44.6449 KOps/s 46.2940 KOps/s $\color{#d91a1a}-3.56\%$
test_compile_replace[single-eager] 82.4420μs 48.2466μs 20.7269 KOps/s 20.8582 KOps/s $\color{#d91a1a}-0.63\%$
test_compile_replace[single-compile] 0.1979ms 0.1438ms 6.9551 KOps/s 6.8109 KOps/s $\color{#35bf28}+2.12\%$
test_compile_replace[multi-eager] 0.6715ms 0.5726ms 1.7463 KOps/s 1.7636 KOps/s $\color{#d91a1a}-0.98\%$
test_compile_replace[multi-compile] 0.2919ms 0.1593ms 6.2791 KOps/s 6.2993 KOps/s $\color{#d91a1a}-0.32\%$
test_compile_tc_getattr_20[eager] 0.2379ms 0.1807ms 5.5346 KOps/s 5.7666 KOps/s $\color{#d91a1a}-4.02\%$
test_compile_tc_getattr_20[compile] 0.2594ms 0.1762ms 5.6755 KOps/s 5.6451 KOps/s $\color{#35bf28}+0.54\%$
test_compile_clone_shallow[20-eager] 52.2010μs 19.1076μs 52.3353 KOps/s 52.6491 KOps/s $\color{#d91a1a}-0.60\%$
test_compile_clone_shallow[20-compile] 80.1820μs 24.7015μs 40.4833 KOps/s 42.1791 KOps/s $\color{#d91a1a}-4.02\%$
test_compile_clone_shallow[40-eager] 65.5110μs 33.2515μs 30.0738 KOps/s 30.0708 KOps/s $+0.01\%$
test_compile_clone_shallow[40-compile] 0.1176ms 25.2380μs 39.6228 KOps/s 39.3310 KOps/s $\color{#35bf28}+0.74\%$
test_compile_clone_shallow[80-eager] 90.2520μs 61.3325μs 16.3046 KOps/s 16.2090 KOps/s $\color{#35bf28}+0.59\%$
test_compile_clone_shallow[80-compile] 85.3810μs 30.5960μs 32.6840 KOps/s 34.2215 KOps/s $\color{#d91a1a}-4.49\%$
test_compile_update_inplace[eager] 96.9520μs 61.9348μs 16.1460 KOps/s 16.3156 KOps/s $\color{#d91a1a}-1.04\%$
test_compile_update_inplace[compile] 0.3567ms 0.1222ms 8.1837 KOps/s 8.2663 KOps/s $\color{#d91a1a}-1.00\%$
test_mod_add[eager] 0.2722ms 0.2275ms 4.3965 KOps/s 4.4162 KOps/s $\color{#d91a1a}-0.45\%$
test_mod_add[compile] 0.2407ms 0.1211ms 8.2606 KOps/s 8.2040 KOps/s $\color{#35bf28}+0.69\%$
test_mod_add[compile-overhead] 0.3344ms 0.1950ms 5.1276 KOps/s 5.0799 KOps/s $\color{#35bf28}+0.94\%$
test_mod_wrap[eager] 0.5488ms 0.4740ms 2.1096 KOps/s 2.1205 KOps/s $\color{#d91a1a}-0.52\%$
test_mod_wrap[compile] 0.4787ms 0.3560ms 2.8087 KOps/s 2.7989 KOps/s $\color{#35bf28}+0.35\%$
test_mod_wrap[compile-overhead] 6.4982ms 3.6616ms 273.1038 Ops/s 251.5431 Ops/s $\textbf{\color{#35bf28}+8.57\%}$
test_mod_wrap_and_backward[eager] 2.0223ms 1.7814ms 561.3450 Ops/s 594.8634 Ops/s $\textbf{\color{#d91a1a}-5.63\%}$
test_mod_wrap_and_backward[compile] 2.8870ms 1.4487ms 690.2592 Ops/s 737.1533 Ops/s $\textbf{\color{#d91a1a}-6.36\%}$
test_mod_wrap_and_backward[compile-overhead] 2.0598ms 0.9950ms 1.0050 KOps/s 1.0408 KOps/s $\color{#d91a1a}-3.43\%$
test_seq_add[eager] 0.6360ms 0.5164ms 1.9363 KOps/s 1.9656 KOps/s $\color{#d91a1a}-1.49\%$
test_seq_add[compile] 0.2998ms 0.1327ms 7.5354 KOps/s 7.1496 KOps/s $\textbf{\color{#35bf28}+5.40\%}$
test_seq_add[compile-overhead] 0.2961ms 0.2044ms 4.8927 KOps/s 4.7433 KOps/s $\color{#35bf28}+3.15\%$
test_seq_wrap[eager] 5.2191ms 1.4290ms 699.7732 Ops/s 699.3294 Ops/s $\color{#35bf28}+0.06\%$
test_seq_wrap[compile] 0.4526ms 0.3709ms 2.6958 KOps/s 2.6240 KOps/s $\color{#35bf28}+2.74\%$
test_seq_wrap[compile-overhead] 0.4575ms 0.3204ms 3.1211 KOps/s 3.0159 KOps/s $\color{#35bf28}+3.49\%$
test_func_call_runtime[False-eager] 0.9613ms 0.8674ms 1.1529 KOps/s 1.1763 KOps/s $\color{#d91a1a}-1.99\%$
test_func_call_runtime[False-compile] 0.9189ms 0.7676ms 1.3028 KOps/s 1.3178 KOps/s $\color{#d91a1a}-1.14\%$
test_func_call_runtime[False-compile-overhead] 0.6735ms 0.5083ms 1.9672 KOps/s 1.9569 KOps/s $\color{#35bf28}+0.53\%$
test_func_call_runtime[True-eager] 1.2306ms 1.0787ms 927.0133 Ops/s 950.1340 Ops/s $\color{#d91a1a}-2.43\%$
test_func_call_runtime[True-compile] 0.8727ms 0.7801ms 1.2819 KOps/s 1.2921 KOps/s $\color{#d91a1a}-0.79\%$
test_func_call_runtime[True-compile-overhead] 0.6945ms 0.5256ms 1.9025 KOps/s 1.8849 KOps/s $\color{#35bf28}+0.93\%$
test_func_call_cm_runtime[False-eager] 0.8849ms 0.8068ms 1.2394 KOps/s 1.2605 KOps/s $\color{#d91a1a}-1.67\%$
test_func_call_cm_runtime[False-compile] 0.8826ms 0.7627ms 1.3111 KOps/s 1.3386 KOps/s $\color{#d91a1a}-2.05\%$
test_func_call_cm_runtime[False-compile-overhead] 0.5740ms 0.4902ms 2.0402 KOps/s 2.0260 KOps/s $\color{#35bf28}+0.70\%$
test_func_call_cm_runtime[True-eager] 1.3392ms 1.2171ms 821.6499 Ops/s 828.8374 Ops/s $\color{#d91a1a}-0.87\%$
test_func_call_cm_runtime[True-compile] 0.9936ms 0.8582ms 1.1652 KOps/s 1.1684 KOps/s $\color{#d91a1a}-0.28\%$
test_func_call_cm_runtime[True-compile-overhead] 1.1009ms 0.8706ms 1.1486 KOps/s 1.1660 KOps/s $\color{#d91a1a}-1.50\%$
test_vmap_func_call_cm_runtime[eager] 3.1719ms 2.6621ms 375.6483 Ops/s 374.2576 Ops/s $\color{#35bf28}+0.37\%$
test_vmap_func_call_cm_runtime[compile] 4.1579ms 3.6713ms 272.3835 Ops/s 273.2500 Ops/s $\color{#d91a1a}-0.32\%$
test_vmap_func_call_cm_runtime[compile-overhead] 4.1535ms 3.6716ms 272.3606 Ops/s 272.8540 Ops/s $\color{#d91a1a}-0.18\%$
test_distributed 0.8424ms 0.1430ms 6.9944 KOps/s 6.4980 KOps/s $\textbf{\color{#35bf28}+7.64\%}$
test_tdmodule 0.3580ms 0.1929ms 5.1840 KOps/s 5.1805 KOps/s $\color{#35bf28}+0.07\%$
test_tdmodule_dispatch 0.4357ms 0.3750ms 2.6668 KOps/s 2.6698 KOps/s $\color{#d91a1a}-0.11\%$
test_tdseq 46.8810μs 26.7067μs 37.4438 KOps/s 37.0803 KOps/s $\color{#35bf28}+0.98\%$
test_tdseq_dispatch 0.2610ms 0.2192ms 4.5629 KOps/s 4.5565 KOps/s $\color{#35bf28}+0.14\%$
test_instantiation_functorch 2.1485ms 2.0505ms 487.6765 Ops/s 491.1117 Ops/s $\color{#d91a1a}-0.70\%$
test_exec_functorch 0.2579ms 0.1774ms 5.6371 KOps/s 5.8194 KOps/s $\color{#d91a1a}-3.13\%$
test_exec_functional_call 0.4462ms 0.1575ms 6.3491 KOps/s 6.5736 KOps/s $\color{#d91a1a}-3.41\%$
test_exec_td_decorator 0.4847ms 0.2438ms 4.1025 KOps/s 4.1446 KOps/s $\color{#d91a1a}-1.02\%$
test_vmap_mlp_speed_decorator[True-True] 1.3852ms 1.1264ms 887.7841 Ops/s 893.6718 Ops/s $\color{#d91a1a}-0.66\%$
test_vmap_mlp_speed_decorator[True-False] 1.3440ms 1.1255ms 888.5120 Ops/s 896.7334 Ops/s $\color{#d91a1a}-0.92\%$
test_vmap_mlp_speed_decorator[False-True] 1.0967ms 0.8390ms 1.1919 KOps/s 1.2248 KOps/s $\color{#d91a1a}-2.68\%$
test_vmap_mlp_speed_decorator[False-False] 1.0238ms 0.8182ms 1.2222 KOps/s 1.2289 KOps/s $\color{#d91a1a}-0.54\%$
test_vmap_transformer_speed_decorator[True-True] 25.5809ms 25.1534ms 39.7560 Ops/s 40.2059 Ops/s $\color{#d91a1a}-1.12\%$
test_vmap_transformer_speed_decorator[True-False] 25.2477ms 25.0858ms 39.8632 Ops/s 40.3322 Ops/s $\color{#d91a1a}-1.16\%$
test_vmap_transformer_speed_decorator[False-True] 24.8868ms 24.7262ms 40.4429 Ops/s 40.8616 Ops/s $\color{#d91a1a}-1.02\%$
test_vmap_transformer_speed_decorator[False-False] 25.2171ms 24.6633ms 40.5461 Ops/s 40.9460 Ops/s $\color{#d91a1a}-0.98\%$
test_to_module_speed[True] 1.8086ms 1.6582ms 603.0698 Ops/s 602.3962 Ops/s $\color{#35bf28}+0.11\%$
test_to_module_speed[False] 1.7891ms 1.6382ms 610.4363 Ops/s 608.6090 Ops/s $\color{#35bf28}+0.30\%$
test_to_module_plain_tensor_speed[None] 1.9176ms 1.7597ms 568.2854 Ops/s 573.3696 Ops/s $\color{#d91a1a}-0.89\%$
test_to_module_plain_tensor_speed[False] 1.7305ms 1.5916ms 628.3010 Ops/s 625.4081 Ops/s $\color{#35bf28}+0.46\%$
test_to_module_plain_tensor_speed[True] 3.8396ms 3.4561ms 289.3432 Ops/s 292.8530 Ops/s $\color{#d91a1a}-1.20\%$
test_tc_init 79.6820μs 44.2740μs 22.5866 KOps/s 21.8543 KOps/s $\color{#35bf28}+3.35\%$
test_tc_init_tensor_only 41.0410μs 9.5496μs 104.7160 KOps/s 99.6546 KOps/s $\textbf{\color{#35bf28}+5.08\%}$
test_tc_init_nested 0.1272ms 87.4340μs 11.4372 KOps/s 11.3187 KOps/s $\color{#35bf28}+1.05\%$
test_tc_init_many_fields 45.8110μs 17.3665μs 57.5822 KOps/s 57.8480 KOps/s $\color{#d91a1a}-0.46\%$
test_tc_first_layer_tensor 17.6100μs 1.7942μs 557.3423 KOps/s 552.4139 KOps/s $\color{#35bf28}+0.89\%$
test_tc_first_layer_tensor_only 1.7961μs 0.3997μs 2.5020 MOps/s 2.4920 MOps/s $\color{#35bf28}+0.40\%$
test_tc_first_layer_tensor_set 24.4600μs 4.2148μs 237.2596 KOps/s 236.9033 KOps/s $\color{#35bf28}+0.15\%$
test_tc_first_layer_tensor_only_set 31.3600μs 3.4841μs 287.0180 KOps/s 286.1103 KOps/s $\color{#35bf28}+0.32\%$
test_tc_first_layer_nontensor 36.8010μs 6.0802μs 164.4685 KOps/s 162.7911 KOps/s $\color{#35bf28}+1.03\%$
test_tc_second_layer_tensor 29.8410μs 4.3708μs 228.7900 KOps/s 229.1872 KOps/s $\color{#d91a1a}-0.17\%$
test_tc_second_layer_nontensor 41.8710μs 8.5864μs 116.4639 KOps/s 116.2073 KOps/s $\color{#35bf28}+0.22\%$
test_unbind 0.2890s 13.1770ms 75.8900 Ops/s 62.9106 Ops/s $\textbf{\color{#35bf28}+20.63\%}$
test_full_like 4.6328ms 4.3947ms 227.5492 Ops/s 228.9653 Ops/s $\color{#d91a1a}-0.62\%$
test_zeros_like 4.5606ms 4.3770ms 228.4695 Ops/s 233.6277 Ops/s $\color{#d91a1a}-2.21\%$
test_ones_like 4.5423ms 4.3850ms 228.0503 Ops/s 232.9155 Ops/s $\color{#d91a1a}-2.09\%$
test_clone 6.6794ms 6.4707ms 154.5422 Ops/s 156.5763 Ops/s $\color{#d91a1a}-1.30\%$
test_squeeze 76.5410μs 14.0810μs 71.0178 KOps/s 70.5292 KOps/s $\color{#35bf28}+0.69\%$
test_unsqueeze 0.3002ms 0.1121ms 8.9230 KOps/s 8.9905 KOps/s $\color{#d91a1a}-0.75\%$
test_split 0.2597ms 0.1881ms 5.3163 KOps/s 5.2771 KOps/s $\color{#35bf28}+0.74\%$
test_permute 0.2504ms 0.1931ms 5.1782 KOps/s 5.1209 KOps/s $\color{#35bf28}+1.12\%$
test_stack 43.2715ms 42.9243ms 23.2968 Ops/s 19.6984 Ops/s $\textbf{\color{#35bf28}+18.27\%}$
test_cat 45.5636ms 43.1535ms 23.1731 Ops/s 19.6882 Ops/s $\textbf{\color{#35bf28}+17.70\%}$
test_sequential_tensordict 0.7062ms 0.5688ms 1.7581 KOps/s 1.7331 KOps/s $\color{#35bf28}+1.44\%$
test_sequential_graph_module 0.1677ms 0.1194ms 8.3764 KOps/s 8.7452 KOps/s $\color{#d91a1a}-4.22\%$
test_nested_tensordict 0.9563ms 0.8151ms 1.2268 KOps/s 1.2294 KOps/s $\color{#d91a1a}-0.21\%$
test_nested_graph_module 0.1668ms 0.1266ms 7.8985 KOps/s 8.3628 KOps/s $\textbf{\color{#d91a1a}-5.55\%}$

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

$\color{#D29922}\textsf{\Large&amp;#x26A0;\kern{0.2cm}\normalsize Warning}$ Result of GPU Benchmark Tests

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

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.1667ms 6.0004 KOps/s 6.0724 KOps/s $\color{#d91a1a}-1.19\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3496ms 0.2974ms 3.3625 KOps/s 3.3851 KOps/s $\color{#d91a1a}-0.67\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.8886ms 0.7889ms 1.2676 KOps/s 1.2659 KOps/s $\color{#35bf28}+0.13\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.3932ms 0.3424ms 2.9206 KOps/s 2.9200 KOps/s $\color{#35bf28}+0.02\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.2893ms 1.0978ms 910.9389 Ops/s 925.8221 Ops/s $\color{#d91a1a}-1.61\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.6774ms 7.3761ms 135.5722 Ops/s 135.0495 Ops/s $\color{#35bf28}+0.39\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.3137ms 0.2629ms 3.8043 KOps/s 4.0008 KOps/s $\color{#d91a1a}-4.91\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.5061ms 0.3895ms 2.5671 KOps/s 2.6351 KOps/s $\color{#d91a1a}-2.58\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9024ms 0.8344ms 1.1984 KOps/s 1.2068 KOps/s $\color{#d91a1a}-0.69\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3212ms 0.2616ms 3.8226 KOps/s 3.9981 KOps/s $\color{#d91a1a}-4.39\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.4568ms 0.3831ms 2.6100 KOps/s 2.6815 KOps/s $\color{#d91a1a}-2.67\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9983ms 0.8974ms 1.1144 KOps/s 1.1233 KOps/s $\color{#d91a1a}-0.79\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.3249ms 0.2090ms 4.7837 KOps/s 4.7885 KOps/s $\color{#d91a1a}-0.10\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.8524ms 0.7993ms 1.2511 KOps/s 1.2453 KOps/s $\color{#35bf28}+0.46\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.3470ms 3.1918ms 313.3060 Ops/s 310.4434 Ops/s $\color{#35bf28}+0.92\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.4269ms 0.3580ms 2.7934 KOps/s 2.7290 KOps/s $\color{#35bf28}+2.36\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 1.8550ms 1.6271ms 614.5787 Ops/s 624.9163 Ops/s $\color{#d91a1a}-1.65\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.3372ms 10.1236ms 98.7791 Ops/s 99.6699 Ops/s $\color{#d91a1a}-0.89\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4304ms 0.3802ms 2.6301 KOps/s 2.6009 KOps/s $\color{#35bf28}+1.12\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.4790ms 1.4110ms 708.6990 Ops/s 695.6869 Ops/s $\color{#35bf28}+1.87\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 5.6465ms 5.5289ms 180.8666 Ops/s 177.7513 Ops/s $\color{#35bf28}+1.75\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4308ms 0.3795ms 2.6349 KOps/s 2.5829 KOps/s $\color{#35bf28}+2.02\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5302ms 1.4242ms 702.1402 Ops/s 697.6503 Ops/s $\color{#35bf28}+0.64\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 5.9895ms 5.6115ms 178.2067 Ops/s 176.7931 Ops/s $\color{#35bf28}+0.80\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2197ms 0.1690ms 5.9173 KOps/s 5.8640 KOps/s $\color{#35bf28}+0.91\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7893ms 0.6586ms 1.5183 KOps/s 1.5112 KOps/s $\color{#35bf28}+0.47\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7370ms 2.6238ms 381.1331 Ops/s 379.5616 Ops/s $\color{#35bf28}+0.41\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.4320ms 0.3101ms 3.2244 KOps/s 3.1181 KOps/s $\color{#35bf28}+3.41\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.7160ms 1.4471ms 691.0445 Ops/s 645.7347 Ops/s $\textbf{\color{#35bf28}+7.02\%}$
test_collector_preallocated_write[copy_at-cpu-4096-32] 9.7647ms 9.4279ms 106.0681 Ops/s 106.0508 Ops/s $\color{#35bf28}+0.02\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.3762ms 0.3162ms 3.1626 KOps/s 3.1386 KOps/s $\color{#35bf28}+0.76\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.2589ms 1.1765ms 849.9780 Ops/s 846.1526 Ops/s $\color{#35bf28}+0.45\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.7322ms 4.6091ms 216.9636 Ops/s 216.2062 Ops/s $\color{#35bf28}+0.35\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.3644ms 0.3175ms 3.1499 KOps/s 3.1392 KOps/s $\color{#35bf28}+0.34\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.2850ms 1.1852ms 843.7554 Ops/s 841.4050 Ops/s $\color{#35bf28}+0.28\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.7025ms 4.6450ms 215.2864 Ops/s 214.0448 Ops/s $\color{#35bf28}+0.58\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1533ms 0.1177ms 8.4994 KOps/s 8.5912 KOps/s $\color{#d91a1a}-1.07\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5599ms 0.4595ms 2.1762 KOps/s 2.1712 KOps/s $\color{#35bf28}+0.23\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.8628ms 1.8331ms 545.5265 Ops/s 547.1333 Ops/s $\color{#d91a1a}-0.29\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3470ms 0.2550ms 3.9218 KOps/s 3.8997 KOps/s $\color{#35bf28}+0.57\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.3601ms 1.2351ms 809.6323 Ops/s 816.8817 Ops/s $\color{#d91a1a}-0.89\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 8.6517ms 8.4225ms 118.7303 Ops/s 117.9701 Ops/s $\color{#35bf28}+0.64\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3742ms 0.2733ms 3.6596 KOps/s 3.7961 KOps/s $\color{#d91a1a}-3.60\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.0723ms 0.9769ms 1.0237 KOps/s 1.0238 KOps/s $-0.01\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.0024ms 3.8426ms 260.2431 Ops/s 260.8737 Ops/s $\color{#d91a1a}-0.24\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3389ms 0.2640ms 3.7882 KOps/s 3.8112 KOps/s $\color{#d91a1a}-0.60\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.0977ms 0.9827ms 1.0176 KOps/s 1.0185 KOps/s $\color{#d91a1a}-0.09\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 3.9856ms 3.8364ms 260.6629 Ops/s 260.3858 Ops/s $\color{#35bf28}+0.11\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 16.6857ms 16.4206ms 60.8990 Ops/s 60.9903 Ops/s $\color{#d91a1a}-0.15\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.2094ms 33.0144ms 30.2898 Ops/s 30.1234 Ops/s $\color{#35bf28}+0.55\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 84.0639ms 83.2089ms 12.0179 Ops/s 11.9802 Ops/s $\color{#35bf28}+0.31\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.1946s 0.1942s 5.1480 Ops/s 5.1148 Ops/s $\color{#35bf28}+0.65\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 14.1475ms 13.8630ms 72.1345 Ops/s 71.7967 Ops/s $\color{#35bf28}+0.47\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.3060ms 27.1482ms 36.8349 Ops/s 36.8018 Ops/s $\color{#35bf28}+0.09\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.2731ms 14.0509ms 71.1701 Ops/s 71.1901 Ops/s $\color{#d91a1a}-0.03\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 27.9497ms 27.5205ms 36.3366 Ops/s 36.3294 Ops/s $\color{#35bf28}+0.02\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 51.9846ms 50.9635ms 19.6219 Ops/s 19.7603 Ops/s $\color{#d91a1a}-0.70\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1025s 0.1019s 9.8128 Ops/s 9.7751 Ops/s $\color{#35bf28}+0.39\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1436s 0.1427s 7.0081 Ops/s 6.9558 Ops/s $\color{#35bf28}+0.75\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3192s 0.3180s 3.1442 Ops/s 3.1416 Ops/s $\color{#35bf28}+0.08\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 77.4236ms 76.7604ms 13.0276 Ops/s 13.7729 Ops/s $\textbf{\color{#d91a1a}-5.41\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1552s 0.1545s 6.4720 Ops/s 6.8256 Ops/s $\textbf{\color{#d91a1a}-5.18\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 78.4281ms 77.3812ms 12.9230 Ops/s 13.3551 Ops/s $\color{#d91a1a}-3.24\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1556s 0.1541s 6.4877 Ops/s 6.4956 Ops/s $\color{#d91a1a}-0.12\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.1123ms 29.8485ms 33.5025 Ops/s 33.1405 Ops/s $\color{#35bf28}+1.09\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.1064ms 60.7848ms 16.4515 Ops/s 16.4651 Ops/s $\color{#d91a1a}-0.08\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1187s 0.1176s 8.5065 Ops/s 8.4676 Ops/s $\color{#35bf28}+0.46\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2600s 0.2594s 3.8554 Ops/s 3.7394 Ops/s $\color{#35bf28}+3.10\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 42.6709ms 42.4768ms 23.5423 Ops/s 23.4226 Ops/s $\color{#35bf28}+0.51\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 85.2402ms 84.9439ms 11.7725 Ops/s 11.7023 Ops/s $\color{#35bf28}+0.60\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 42.8375ms 42.6460ms 23.4488 Ops/s 23.3069 Ops/s $\color{#35bf28}+0.61\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 85.5770ms 85.1999ms 11.7371 Ops/s 11.6175 Ops/s $\color{#35bf28}+1.03\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.0387ms 19.9014ms 50.2478 Ops/s 50.4474 Ops/s $\color{#d91a1a}-0.40\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 40.9337ms 40.8002ms 24.5097 Ops/s 24.6797 Ops/s $\color{#d91a1a}-0.69\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1195s 0.1079s 9.2666 Ops/s 9.4753 Ops/s $\color{#d91a1a}-2.20\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2414s 0.2385s 4.1933 Ops/s 4.0739 Ops/s $\color{#35bf28}+2.93\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 35.3533ms 34.9440ms 28.6173 Ops/s 28.3279 Ops/s $\color{#35bf28}+1.02\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 70.7062ms 70.0114ms 14.2834 Ops/s 14.3013 Ops/s $\color{#d91a1a}-0.13\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 35.1962ms 34.9571ms 28.6065 Ops/s 28.7169 Ops/s $\color{#d91a1a}-0.38\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 71.1212ms 70.4189ms 14.2007 Ops/s 14.2838 Ops/s $\color{#d91a1a}-0.58\%$
test_plain_set_nested 45.1310μs 15.2498μs 65.5747 KOps/s 66.3142 KOps/s $\color{#d91a1a}-1.12\%$
test_plain_set_stack_nested 58.4520μs 14.7730μs 67.6909 KOps/s 67.7272 KOps/s $\color{#d91a1a}-0.05\%$
test_plain_set_nested_inplace 54.3610μs 16.5500μs 60.4230 KOps/s 60.7573 KOps/s $\color{#d91a1a}-0.55\%$
test_plain_set_stack_nested_inplace 57.5720μs 16.0368μs 62.3565 KOps/s 62.4269 KOps/s $\color{#d91a1a}-0.11\%$
test_items 31.2010μs 6.1465μs 162.6941 KOps/s 163.5959 KOps/s $\color{#d91a1a}-0.55\%$
test_items_nested 0.4906ms 0.4603ms 2.1723 KOps/s 2.1808 KOps/s $\color{#d91a1a}-0.39\%$
test_items_nested_locked 0.5202ms 0.4637ms 2.1567 KOps/s 2.1827 KOps/s $\color{#d91a1a}-1.19\%$
test_items_nested_leaf 0.1338ms 98.1631μs 10.1871 KOps/s 10.1841 KOps/s $\color{#35bf28}+0.03\%$
test_items_stack_nested 0.5263ms 0.4586ms 2.1806 KOps/s 2.1835 KOps/s $\color{#d91a1a}-0.13\%$
test_items_stack_nested_leaf 0.1901ms 98.1032μs 10.1934 KOps/s 10.2252 KOps/s $\color{#d91a1a}-0.31\%$
test_items_stack_nested_locked 0.5296ms 0.4600ms 2.1741 KOps/s 2.1666 KOps/s $\color{#35bf28}+0.35\%$
test_keys 37.1600μs 4.2114μs 237.4502 KOps/s 238.9818 KOps/s $\color{#d91a1a}-0.64\%$
test_keys_nested 0.1803ms 0.1300ms 7.6928 KOps/s 7.7838 KOps/s $\color{#d91a1a}-1.17\%$
test_keys_nested_locked 0.7786ms 0.1386ms 7.2173 KOps/s 7.3108 KOps/s $\color{#d91a1a}-1.28\%$
test_keys_nested_leaf 0.1625ms 0.1213ms 8.2423 KOps/s 8.4251 KOps/s $\color{#d91a1a}-2.17\%$
test_keys_stack_nested 0.1831ms 0.1301ms 7.6868 KOps/s 7.8020 KOps/s $\color{#d91a1a}-1.48\%$
test_keys_stack_nested_leaf 0.1751ms 0.1208ms 8.2754 KOps/s 8.4104 KOps/s $\color{#d91a1a}-1.61\%$
test_keys_stack_nested_locked 0.1951ms 0.1386ms 7.2157 KOps/s 7.3487 KOps/s $\color{#d91a1a}-1.81\%$
test_values 3.8961μs 1.0118μs 988.3206 KOps/s 685.4129 KOps/s $\textbf{\color{#35bf28}+44.19\%}$
test_values_nested 79.9320μs 52.5623μs 19.0250 KOps/s 18.9949 KOps/s $\color{#35bf28}+0.16\%$
test_values_nested_locked 85.3420μs 56.1956μs 17.7950 KOps/s 17.9221 KOps/s $\color{#d91a1a}-0.71\%$
test_values_nested_leaf 94.1620μs 60.3585μs 16.5677 KOps/s 16.6029 KOps/s $\color{#d91a1a}-0.21\%$
test_values_stack_nested 90.6720μs 52.6699μs 18.9862 KOps/s 19.0430 KOps/s $\color{#d91a1a}-0.30\%$
test_values_stack_nested_leaf 0.1294ms 58.6726μs 17.0437 KOps/s 16.6233 KOps/s $\color{#35bf28}+2.53\%$
test_values_stack_nested_locked 0.1050ms 55.9021μs 17.8884 KOps/s 18.3814 KOps/s $\color{#d91a1a}-2.68\%$
test_membership 5.3635μs 0.8331μs 1.2004 MOps/s 1.1978 MOps/s $\color{#35bf28}+0.21\%$
test_membership_nested 32.5710μs 2.9878μs 334.6973 KOps/s 336.1084 KOps/s $\color{#d91a1a}-0.42\%$
test_membership_nested_leaf 59.3820μs 2.9717μs 336.5129 KOps/s 365.4121 KOps/s $\textbf{\color{#d91a1a}-7.91\%}$
test_membership_stacked_nested 48.5210μs 2.8373μs 352.4456 KOps/s 349.8808 KOps/s $\color{#35bf28}+0.73\%$
test_membership_stacked_nested_leaf 47.2610μs 2.8496μs 350.9221 KOps/s 350.9656 KOps/s $\color{#d91a1a}-0.01\%$
test_membership_nested_last 34.3410μs 4.5173μs 221.3732 KOps/s 224.1765 KOps/s $\color{#d91a1a}-1.25\%$
test_membership_nested_leaf_last 34.9310μs 4.4571μs 224.3604 KOps/s 223.2502 KOps/s $\color{#35bf28}+0.50\%$
test_membership_stacked_nested_last 53.5820μs 4.3102μs 232.0070 KOps/s 232.0655 KOps/s $\color{#d91a1a}-0.03\%$
test_membership_stacked_nested_leaf_last 51.3610μs 4.3159μs 231.7019 KOps/s 231.7994 KOps/s $\color{#d91a1a}-0.04\%$
test_nested_getleaf 53.5110μs 20.8279μs 48.0124 KOps/s 46.5914 KOps/s $\color{#35bf28}+3.05\%$
test_nested_get 55.4210μs 19.5861μs 51.0565 KOps/s 50.0987 KOps/s $\color{#35bf28}+1.91\%$
test_stacked_getleaf 59.2410μs 20.3883μs 49.0478 KOps/s 47.8904 KOps/s $\color{#35bf28}+2.42\%$
test_stacked_get 63.7010μs 19.6934μs 50.7785 KOps/s 50.3587 KOps/s $\color{#35bf28}+0.83\%$
test_nested_getitemleaf 52.4610μs 21.7052μs 46.0720 KOps/s 45.8000 KOps/s $\color{#35bf28}+0.59\%$
test_nested_getitem 51.8510μs 20.3717μs 49.0877 KOps/s 47.9855 KOps/s $\color{#35bf28}+2.30\%$
test_stacked_getitemleaf 69.8210μs 21.0887μs 47.4187 KOps/s 46.3093 KOps/s $\color{#35bf28}+2.40\%$
test_stacked_getitem 63.2710μs 20.0736μs 49.8167 KOps/s 48.9247 KOps/s $\color{#35bf28}+1.82\%$
test_lock_nested 0.5863ms 0.4996ms 2.0015 KOps/s 1.9780 KOps/s $\color{#35bf28}+1.19\%$
test_lock_stack_nested 0.6697ms 0.5081ms 1.9680 KOps/s 1.9816 KOps/s $\color{#d91a1a}-0.68\%$
test_unlock_nested 0.4806ms 0.4003ms 2.4979 KOps/s 2.5014 KOps/s $\color{#d91a1a}-0.14\%$
test_unlock_stack_nested 0.5856ms 0.4019ms 2.4882 KOps/s 2.4853 KOps/s $\color{#35bf28}+0.12\%$
test_flatten_speed 0.3057ms 0.1230ms 8.1287 KOps/s 8.1263 KOps/s $\color{#35bf28}+0.03\%$
test_unflatten_speed 0.6129ms 0.5551ms 1.8015 KOps/s 1.7674 KOps/s $\color{#35bf28}+1.93\%$
test_common_ops 0.8761ms 0.6957ms 1.4375 KOps/s 1.4280 KOps/s $\color{#35bf28}+0.66\%$
test_creation 0.1273ms 3.2308μs 309.5206 KOps/s 325.6608 KOps/s $\color{#d91a1a}-4.96\%$
test_creation_empty 52.7210μs 7.0490μs 141.8636 KOps/s 141.7980 KOps/s $\color{#35bf28}+0.05\%$
test_creation_nested_1 42.6610μs 11.6221μs 86.0430 KOps/s 86.6651 KOps/s $\color{#d91a1a}-0.72\%$
test_creation_nested_2 48.9810μs 13.4970μs 74.0903 KOps/s 74.3144 KOps/s $\color{#d91a1a}-0.30\%$
test_creation_many_keys[10] 54.8310μs 21.1138μs 47.3625 KOps/s 47.1264 KOps/s $\color{#35bf28}+0.50\%$
test_creation_many_keys[50] 0.1280ms 90.5879μs 11.0390 KOps/s 10.9340 KOps/s $\color{#35bf28}+0.96\%$
test_creation_many_keys[100] 0.2198ms 0.1771ms 5.6458 KOps/s 5.6266 KOps/s $\color{#35bf28}+0.34\%$
test_creation_nested_many_keys[10] 83.7510μs 45.3536μs 22.0490 KOps/s 22.0955 KOps/s $\color{#d91a1a}-0.21\%$
test_creation_nested_many_keys[50] 0.2330ms 0.1859ms 5.3794 KOps/s 5.5048 KOps/s $\color{#d91a1a}-2.28\%$
test_clone 34.7000μs 12.9073μs 77.4755 KOps/s 78.5096 KOps/s $\color{#d91a1a}-1.32\%$
test_getitem[int] 1.3811ms 15.1219μs 66.1293 KOps/s 65.9447 KOps/s $\color{#35bf28}+0.28\%$
test_getitem[slice_int] 0.1433ms 24.6443μs 40.5773 KOps/s 40.5835 KOps/s $\color{#d91a1a}-0.02\%$
test_getitem[range] 0.1777ms 62.4454μs 16.0140 KOps/s 16.2862 KOps/s $\color{#d91a1a}-1.67\%$
test_getitem[tuple] 0.1925ms 24.2324μs 41.2671 KOps/s 41.9119 KOps/s $\color{#d91a1a}-1.54\%$
test_getitem[list] 0.1787ms 57.5516μs 17.3757 KOps/s 17.1163 KOps/s $\color{#35bf28}+1.52\%$
test_setitem_dim[int] 62.5610μs 25.8372μs 38.7039 KOps/s 39.9674 KOps/s $\color{#d91a1a}-3.16\%$
test_setitem_dim[slice_int] 80.8020μs 41.1444μs 24.3046 KOps/s 23.7534 KOps/s $\color{#35bf28}+2.32\%$
test_setitem_dim[range] 0.1383ms 98.1403μs 10.1895 KOps/s 10.5819 KOps/s $\color{#d91a1a}-3.71\%$
test_setitem_dim[tuple] 72.7320μs 38.3139μs 26.1002 KOps/s 25.3738 KOps/s $\color{#35bf28}+2.86\%$
test_setitem 50.3010μs 17.3203μs 57.7357 KOps/s 58.3651 KOps/s $\color{#d91a1a}-1.08\%$
test_set 49.3410μs 16.7367μs 59.7489 KOps/s 61.5253 KOps/s $\color{#d91a1a}-2.89\%$
test_set_shared 0.5751ms 0.2047ms 4.8855 KOps/s 4.7532 KOps/s $\color{#35bf28}+2.78\%$
test_update 0.4377ms 20.8254μs 48.0184 KOps/s 48.0556 KOps/s $\color{#d91a1a}-0.08\%$
test_update_nested 75.0120μs 32.7764μs 30.5097 KOps/s 30.2648 KOps/s $\color{#35bf28}+0.81\%$
test_update__nested 0.4816ms 32.7996μs 30.4881 KOps/s 30.6411 KOps/s $\color{#d91a1a}-0.50\%$
test_set_nested 53.8620μs 18.2164μs 54.8955 KOps/s 55.3867 KOps/s $\color{#d91a1a}-0.89\%$
test_set_nested_new 58.8610μs 22.8973μs 43.6732 KOps/s 43.8344 KOps/s $\color{#d91a1a}-0.37\%$
test_select 85.6320μs 39.4803μs 25.3291 KOps/s 25.2239 KOps/s $\color{#35bf28}+0.42\%$
test_select_nested 0.1112ms 74.5484μs 13.4141 KOps/s 13.4307 KOps/s $\color{#d91a1a}-0.12\%$
test_exclude_nested 0.1236ms 90.8721μs 11.0045 KOps/s 11.0414 KOps/s $\color{#d91a1a}-0.33\%$
test_empty[True] 0.4430ms 0.3959ms 2.5257 KOps/s 2.5303 KOps/s $\color{#d91a1a}-0.18\%$
test_empty[False] 7.8327μs 1.3782μs 725.5976 KOps/s 708.6675 KOps/s $\color{#35bf28}+2.39\%$
test_to 0.1157ms 69.4028μs 14.4086 KOps/s 14.1669 KOps/s $\color{#35bf28}+1.71\%$
test_to_nonblocking 0.1203ms 69.4401μs 14.4009 KOps/s 14.3590 KOps/s $\color{#35bf28}+0.29\%$
test_unbind_speed 0.3847ms 0.3335ms 2.9987 KOps/s 3.0243 KOps/s $\color{#d91a1a}-0.85\%$
test_unbind_speed_stack0 0.5248ms 0.3322ms 3.0101 KOps/s 3.0320 KOps/s $\color{#d91a1a}-0.72\%$
test_unbind_speed_stack1 0.1161s 1.0726ms 932.2855 Ops/s 1.1673 KOps/s $\textbf{\color{#d91a1a}-20.13\%}$
test_split 1.3935ms 1.2859ms 777.6415 Ops/s 636.8119 Ops/s $\textbf{\color{#35bf28}+22.11\%}$
test_chunk 0.1158s 1.3841ms 722.4732 Ops/s 812.8209 Ops/s $\textbf{\color{#d91a1a}-11.12\%}$
test_to_cpu_blocking 19.7222ms 19.4466ms 51.4228 Ops/s 50.9109 Ops/s $\color{#35bf28}+1.01\%$
test_to_cpu_global_sync 11.5780ms 11.4672ms 87.2052 Ops/s 87.2517 Ops/s $\color{#d91a1a}-0.05\%$
test_to_cpu_event_sync 12.7890ms 12.4666ms 80.2146 Ops/s 80.0954 Ops/s $\color{#35bf28}+0.15\%$
test_to_cpu_default 12.8539ms 12.4669ms 80.2122 Ops/s 80.4168 Ops/s $\color{#d91a1a}-0.25\%$
test_consolidate[False-None] 4.2723ms 4.1800ms 239.2339 Ops/s 240.4998 Ops/s $\color{#d91a1a}-0.53\%$
test_consolidate[default-None] 3.2624ms 2.2585ms 442.7655 Ops/s 437.9350 Ops/s $\color{#35bf28}+1.10\%$
test_consolidate[reduce-overhead-None] 3.2415ms 2.1579ms 463.4180 Ops/s 451.9647 Ops/s $\color{#35bf28}+2.53\%$
test_consolidate_njt[False-None] 5.3104ms 5.0816ms 196.7866 Ops/s 192.3633 Ops/s $\color{#35bf28}+2.30\%$
test_to[False-False-None] 2.3004ms 2.1624ms 462.4399 Ops/s 456.5901 Ops/s $\color{#35bf28}+1.28\%$
test_to[True-False-None] 2.2310ms 1.9455ms 514.0077 Ops/s 513.6042 Ops/s $\color{#35bf28}+0.08\%$
test_to[within-False-None] 0.2056s 7.4877ms 133.5515 Ops/s 159.8702 Ops/s $\textbf{\color{#d91a1a}-16.46\%}$
test_to[True-default-None] 10.7304ms 10.2682ms 97.3882 Ops/s 95.2640 Ops/s $\color{#35bf28}+2.23\%$
test_to_njt[False-False-None] 7.2679ms 6.9796ms 143.2752 Ops/s 142.2418 Ops/s $\color{#35bf28}+0.73\%$
test_to_njt[True-False-None] 4.1437ms 3.8869ms 257.2724 Ops/s 249.4018 Ops/s $\color{#35bf28}+3.16\%$
test_to_njt[within-False-None] 9.3108ms 9.0454ms 110.5536 Ops/s 110.7490 Ops/s $\color{#d91a1a}-0.18\%$
test_creation[device0] 0.5697ms 0.1173ms 8.5252 KOps/s 8.3815 KOps/s $\color{#35bf28}+1.71\%$
test_creation_from_tensor 0.5460ms 0.1128ms 8.8653 KOps/s 8.6319 KOps/s $\color{#35bf28}+2.70\%$
test_add_one[memmap_tensor0] 0.3987ms 6.1583μs 162.3815 KOps/s 164.4758 KOps/s $\color{#d91a1a}-1.27\%$
test_contiguous[memmap_tensor0] 17.9600μs 0.6983μs 1.4320 MOps/s 2.0765 MOps/s $\textbf{\color{#d91a1a}-31.04\%}$
test_stack[memmap_tensor0] 75.9620μs 4.1361μs 241.7723 KOps/s 245.7943 KOps/s $\color{#d91a1a}-1.64\%$
test_memmaptd_index 1.2764ms 0.2744ms 3.6441 KOps/s 3.6625 KOps/s $\color{#d91a1a}-0.50\%$
test_memmaptd_index_astensor 0.5511ms 0.3757ms 2.6620 KOps/s 2.6830 KOps/s $\color{#d91a1a}-0.78\%$
test_memmaptd_index_op 1.0337ms 0.6189ms 1.6158 KOps/s 1.6283 KOps/s $\color{#d91a1a}-0.77\%$
test_serialize_model 0.3348s 0.1642s 6.0893 Ops/s 7.3868 Ops/s $\textbf{\color{#d91a1a}-17.57\%}$
test_serialize_model_pickle 1.3718s 1.2171s 0.8217 Ops/s 0.8270 Ops/s $\color{#d91a1a}-0.65\%$
test_serialize_weights 0.1372s 0.1345s 7.4339 Ops/s 7.4301 Ops/s $\color{#35bf28}+0.05\%$
test_serialize_weights_returnearly 0.4618s 88.1955ms 11.3384 Ops/s 10.6527 Ops/s $\textbf{\color{#35bf28}+6.44\%}$
test_serialize_weights_pickle 1.3708s 1.2130s 0.8244 Ops/s 0.8229 Ops/s $\color{#35bf28}+0.18\%$
test_reshape_pytree 0.2150ms 32.3823μs 30.8811 KOps/s 30.7728 KOps/s $\color{#35bf28}+0.35\%$
test_reshape_td 99.8930μs 45.2089μs 22.1195 KOps/s 22.0935 KOps/s $\color{#35bf28}+0.12\%$
test_view_pytree 0.2187ms 32.0888μs 31.1635 KOps/s 31.4263 KOps/s $\color{#d91a1a}-0.84\%$
test_view_td 0.1090ms 55.6291μs 17.9762 KOps/s 18.2182 KOps/s $\color{#d91a1a}-1.33\%$
test_unbind_pytree 0.2795ms 36.1934μs 27.6293 KOps/s 27.8758 KOps/s $\color{#d91a1a}-0.88\%$
test_unbind_td 0.1148ms 50.5471μs 19.7835 KOps/s 19.8831 KOps/s $\color{#d91a1a}-0.50\%$
test_split_pytree 0.2301ms 41.7357μs 23.9603 KOps/s 23.9175 KOps/s $\color{#35bf28}+0.18\%$
test_split_td 0.1286ms 71.4883μs 13.9883 KOps/s 14.1434 KOps/s $\color{#d91a1a}-1.10\%$
test_add_pytree 0.2334ms 40.4016μs 24.7515 KOps/s 25.0273 KOps/s $\color{#d91a1a}-1.10\%$
test_add_td 0.1222ms 53.2250μs 18.7882 KOps/s 18.8663 KOps/s $\color{#d91a1a}-0.41\%$
test_compile_add_one_nested[tensordict-compile] 0.3848ms 0.2705ms 3.6967 KOps/s 3.6177 KOps/s $\color{#35bf28}+2.18\%$
test_compile_add_one_nested[tensordict-eager] 0.2927ms 0.2021ms 4.9483 KOps/s 4.8902 KOps/s $\color{#35bf28}+1.19\%$
test_compile_add_one_nested[pytree-compile] 0.4668ms 0.1541ms 6.4892 KOps/s 6.3178 KOps/s $\color{#35bf28}+2.71\%$
test_compile_add_one_nested[pytree-eager] 0.4992ms 0.1786ms 5.6004 KOps/s 5.5754 KOps/s $\color{#35bf28}+0.45\%$
test_compile_copy_nested[tensordict-compile] 78.6620μs 21.9735μs 45.5093 KOps/s 47.6416 KOps/s $\color{#d91a1a}-4.48\%$
test_compile_copy_nested[tensordict-eager] 0.1105ms 54.2662μs 18.4277 KOps/s 18.5003 KOps/s $\color{#d91a1a}-0.39\%$
test_compile_copy_nested[pytree-compile] 55.3010μs 19.5954μs 51.0325 KOps/s 51.5519 KOps/s $\color{#d91a1a}-1.01\%$
test_compile_copy_nested[pytree-eager] 0.3861ms 67.4047μs 14.8358 KOps/s 15.0618 KOps/s $\color{#d91a1a}-1.50\%$
test_compile_add_one_flat[tensordict-compile] 0.3628ms 0.3047ms 3.2814 KOps/s 3.1135 KOps/s $\textbf{\color{#35bf28}+5.39\%}$
test_compile_add_one_flat[tensordict-eager] 0.3395ms 0.2901ms 3.4476 KOps/s 3.4445 KOps/s $\color{#35bf28}+0.09\%$
test_compile_add_one_flat[tensorclass-compile] 0.2616ms 0.2069ms 4.8333 KOps/s 4.5733 KOps/s $\textbf{\color{#35bf28}+5.68\%}$
test_compile_add_one_flat[tensorclass-eager] 0.1129ms 75.7051μs 13.2091 KOps/s 13.0553 KOps/s $\color{#35bf28}+1.18\%$
test_compile_add_one_flat[pytree-compile] 0.2819ms 0.2389ms 4.1860 KOps/s 4.0154 KOps/s $\color{#35bf28}+4.25\%$
test_compile_add_one_flat[pytree-eager] 0.8903ms 0.5333ms 1.8750 KOps/s 1.8683 KOps/s $\color{#35bf28}+0.36\%$
test_compile_add_self_flat[tensordict-eager] 0.5412ms 0.3398ms 2.9432 KOps/s 2.8893 KOps/s $\color{#35bf28}+1.86\%$
test_compile_add_self_flat[tensordict-compile] 0.3874ms 0.3088ms 3.2380 KOps/s 3.1056 KOps/s $\color{#35bf28}+4.27\%$
test_compile_add_self_flat[tensorclass-eager] 0.1568ms 92.9994μs 10.7528 KOps/s 10.8094 KOps/s $\color{#d91a1a}-0.52\%$
test_compile_add_self_flat[tensorclass-compile] 0.2641ms 0.2105ms 4.7513 KOps/s 4.5664 KOps/s $\color{#35bf28}+4.05\%$
test_compile_add_self_flat[pytree-eager] 0.7048ms 0.4345ms 2.3013 KOps/s 2.2994 KOps/s $\color{#35bf28}+0.08\%$
test_compile_add_self_flat[pytree-compile] 0.2925ms 0.2411ms 4.1469 KOps/s 4.0598 KOps/s $\color{#35bf28}+2.15\%$
test_compile_copy_flat[tensordict-compile] 68.8810μs 26.7203μs 37.4247 KOps/s 36.1538 KOps/s $\color{#35bf28}+3.52\%$
test_compile_copy_flat[tensordict-eager] 88.1720μs 40.6037μs 24.6283 KOps/s 24.5549 KOps/s $\color{#35bf28}+0.30\%$
test_compile_copy_flat[pytree-compile] 81.3310μs 25.0539μs 39.9139 KOps/s 39.0338 KOps/s $\color{#35bf28}+2.25\%$
test_compile_copy_flat[pytree-eager] 0.3462ms 51.7958μs 19.3066 KOps/s 19.4816 KOps/s $\color{#d91a1a}-0.90\%$
test_compile_assign_and_add[tensordict-compile] 2.1045ms 0.2555ms 3.9145 KOps/s 3.6332 KOps/s $\textbf{\color{#35bf28}+7.74\%}$
test_compile_assign_and_add[tensordict-eager] 3.5451ms 3.3729ms 296.4832 Ops/s 288.1808 Ops/s $\color{#35bf28}+2.88\%$
test_compile_assign_and_add[pytree-compile] 1.9287ms 0.1952ms 5.1231 KOps/s 5.0097 KOps/s $\color{#35bf28}+2.26\%$
test_compile_assign_and_add[pytree-eager] 2.9621ms 2.7634ms 361.8683 Ops/s 359.9013 Ops/s $\color{#35bf28}+0.55\%$
test_compile_indexing[tensor-tensordict-compile] 0.2458ms 0.1550ms 6.4499 KOps/s 6.3619 KOps/s $\color{#35bf28}+1.38\%$
test_compile_indexing[tensor-tensordict-eager] 0.3744ms 77.2699μs 12.9417 KOps/s 13.5656 KOps/s $\color{#d91a1a}-4.60\%$
test_compile_indexing[tensor-tensorclass-compile] 0.1933ms 0.1353ms 7.3920 KOps/s 7.3853 KOps/s $\color{#35bf28}+0.09\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2998ms 45.1252μs 22.1605 KOps/s 22.5297 KOps/s $\color{#d91a1a}-1.64\%$
test_compile_indexing[tensor-pytree-compile] 0.5170ms 0.1356ms 7.3773 KOps/s 7.3263 KOps/s $\color{#35bf28}+0.70\%$
test_compile_indexing[tensor-pytree-eager] 0.2766ms 46.0408μs 21.7199 KOps/s 22.6065 KOps/s $\color{#d91a1a}-3.92\%$
test_compile_indexing[slice-tensordict-compile] 0.1520ms 86.4739μs 11.5642 KOps/s 11.2748 KOps/s $\color{#35bf28}+2.57\%$
test_compile_indexing[slice-tensordict-eager] 0.2168ms 27.3659μs 36.5418 KOps/s 35.4297 KOps/s $\color{#35bf28}+3.14\%$
test_compile_indexing[slice-tensorclass-compile] 0.1190ms 70.5094μs 14.1825 KOps/s 14.1232 KOps/s $\color{#35bf28}+0.42\%$
test_compile_indexing[slice-tensorclass-eager] 0.2519ms 21.9841μs 45.4873 KOps/s 44.8877 KOps/s $\color{#35bf28}+1.34\%$
test_compile_indexing[slice-pytree-compile] 0.1144ms 71.0714μs 14.0704 KOps/s 13.9889 KOps/s $\color{#35bf28}+0.58\%$
test_compile_indexing[slice-pytree-eager] 0.2836ms 22.0615μs 45.3279 KOps/s 45.1820 KOps/s $\color{#35bf28}+0.32\%$
test_compile_indexing[int-tensordict-compile] 0.2754ms 88.6774μs 11.2768 KOps/s 11.0896 KOps/s $\color{#35bf28}+1.69\%$
test_compile_indexing[int-tensordict-eager] 0.2068ms 27.5258μs 36.3295 KOps/s 35.8105 KOps/s $\color{#35bf28}+1.45\%$
test_compile_indexing[int-tensorclass-compile] 0.1138ms 71.8799μs 13.9121 KOps/s 13.8234 KOps/s $\color{#35bf28}+0.64\%$
test_compile_indexing[int-tensorclass-eager] 0.2516ms 21.8605μs 45.7447 KOps/s 45.2043 KOps/s $\color{#35bf28}+1.20\%$
test_compile_indexing[int-pytree-compile] 0.1173ms 71.6913μs 13.9487 KOps/s 13.6783 KOps/s $\color{#35bf28}+1.98\%$
test_compile_indexing[int-pytree-eager] 0.2815ms 21.9448μs 45.5690 KOps/s 45.0919 KOps/s $\color{#35bf28}+1.06\%$
test_compile_replace[single-eager] 0.1070ms 50.7625μs 19.6996 KOps/s 20.8271 KOps/s $\textbf{\color{#d91a1a}-5.41\%}$
test_compile_replace[single-compile] 0.2187ms 0.1443ms 6.9278 KOps/s 6.7262 KOps/s $\color{#35bf28}+3.00\%$
test_compile_replace[multi-eager] 0.7942ms 0.5937ms 1.6844 KOps/s 1.7399 KOps/s $\color{#d91a1a}-3.19\%$
test_compile_replace[multi-compile] 0.2171ms 0.1548ms 6.4620 KOps/s 6.2801 KOps/s $\color{#35bf28}+2.90\%$
test_compile_tc_getattr_20[eager] 0.2337ms 0.1702ms 5.8748 KOps/s 5.7602 KOps/s $\color{#35bf28}+1.99\%$
test_compile_tc_getattr_20[compile] 0.2334ms 0.1736ms 5.7604 KOps/s 5.5792 KOps/s $\color{#35bf28}+3.25\%$
test_compile_clone_shallow[20-eager] 59.6810μs 19.2017μs 52.0787 KOps/s 52.5427 KOps/s $\color{#d91a1a}-0.88\%$
test_compile_clone_shallow[20-compile] 67.7210μs 22.9432μs 43.5860 KOps/s 43.0270 KOps/s $\color{#35bf28}+1.30\%$
test_compile_clone_shallow[40-eager] 71.1110μs 33.4629μs 29.8838 KOps/s 30.0431 KOps/s $\color{#d91a1a}-0.53\%$
test_compile_clone_shallow[40-compile] 71.3610μs 25.0452μs 39.9278 KOps/s 40.2866 KOps/s $\color{#d91a1a}-0.89\%$
test_compile_clone_shallow[80-eager] 0.1120ms 61.7882μs 16.1843 KOps/s 16.2641 KOps/s $\color{#d91a1a}-0.49\%$
test_compile_clone_shallow[80-compile] 75.8210μs 29.1539μs 34.3007 KOps/s 34.6646 KOps/s $\color{#d91a1a}-1.05\%$
test_compile_update_inplace[eager] 0.1175ms 61.8073μs 16.1793 KOps/s 15.8187 KOps/s $\color{#35bf28}+2.28\%$
test_compile_update_inplace[compile] 0.1843ms 0.1190ms 8.3999 KOps/s 8.1774 KOps/s $\color{#35bf28}+2.72\%$
test_mod_add[eager] 0.2930ms 0.2263ms 4.4183 KOps/s 4.4282 KOps/s $\color{#d91a1a}-0.22\%$
test_mod_add[compile] 0.1782ms 0.1175ms 8.5124 KOps/s 8.3735 KOps/s $\color{#35bf28}+1.66\%$
test_mod_add[compile-overhead] 0.2770ms 0.1937ms 5.1626 KOps/s 5.0632 KOps/s $\color{#35bf28}+1.96\%$
test_mod_wrap[eager] 0.6117ms 0.4769ms 2.0967 KOps/s 2.1237 KOps/s $\color{#d91a1a}-1.27\%$
test_mod_wrap[compile] 0.4290ms 0.3440ms 2.9070 KOps/s 2.8736 KOps/s $\color{#35bf28}+1.16\%$
test_mod_wrap[compile-overhead] 7.1452ms 3.9581ms 252.6491 Ops/s 260.2486 Ops/s $\color{#d91a1a}-2.92\%$
test_mod_wrap_and_backward[eager] 1.7784ms 1.6427ms 608.7460 Ops/s 602.2969 Ops/s $\color{#35bf28}+1.07\%$
test_mod_wrap_and_backward[compile] 1.7901ms 1.3264ms 753.9295 Ops/s 747.0062 Ops/s $\color{#35bf28}+0.93\%$
test_mod_wrap_and_backward[compile-overhead] 2.0447ms 0.9394ms 1.0645 KOps/s 1.0333 KOps/s $\color{#35bf28}+3.02\%$
test_seq_add[eager] 0.6110ms 0.5086ms 1.9661 KOps/s 1.9560 KOps/s $\color{#35bf28}+0.52\%$
test_seq_add[compile] 0.1907ms 0.1311ms 7.6281 KOps/s 7.2565 KOps/s $\textbf{\color{#35bf28}+5.12\%}$
test_seq_add[compile-overhead] 0.2917ms 0.2044ms 4.8923 KOps/s 4.7326 KOps/s $\color{#35bf28}+3.37\%$
test_seq_wrap[eager] 5.3048ms 1.4201ms 704.1939 Ops/s 703.0935 Ops/s $\color{#35bf28}+0.16\%$
test_seq_wrap[compile] 0.4172ms 0.3605ms 2.7740 KOps/s 2.7061 KOps/s $\color{#35bf28}+2.51\%$
test_seq_wrap[compile-overhead] 0.4519ms 0.3192ms 3.1327 KOps/s 2.9266 KOps/s $\textbf{\color{#35bf28}+7.04\%}$
test_func_call_runtime[False-eager] 0.8804ms 0.7990ms 1.2516 KOps/s 1.1881 KOps/s $\textbf{\color{#35bf28}+5.35\%}$
test_func_call_runtime[False-compile] 0.8327ms 0.7579ms 1.3195 KOps/s 1.2709 KOps/s $\color{#35bf28}+3.82\%$
test_func_call_runtime[False-compile-overhead] 0.6747ms 0.5079ms 1.9688 KOps/s 1.9509 KOps/s $\color{#35bf28}+0.92\%$
test_func_call_runtime[True-eager] 1.1955ms 1.0566ms 946.4016 Ops/s 944.1558 Ops/s $\color{#35bf28}+0.24\%$
test_func_call_runtime[True-compile] 0.8552ms 0.7805ms 1.2813 KOps/s 1.2504 KOps/s $\color{#35bf28}+2.47\%$
test_func_call_runtime[True-compile-overhead] 0.7788ms 0.5234ms 1.9107 KOps/s 1.8841 KOps/s $\color{#35bf28}+1.41\%$
test_func_call_cm_runtime[False-eager] 0.9208ms 0.7948ms 1.2581 KOps/s 1.2346 KOps/s $\color{#35bf28}+1.90\%$
test_func_call_cm_runtime[False-compile] 0.8348ms 0.7483ms 1.3364 KOps/s 1.3198 KOps/s $\color{#35bf28}+1.26\%$
test_func_call_cm_runtime[False-compile-overhead] 0.5496ms 0.4913ms 2.0356 KOps/s 2.0054 KOps/s $\color{#35bf28}+1.51\%$
test_func_call_cm_runtime[True-eager] 1.3908ms 1.2123ms 824.8595 Ops/s 819.6031 Ops/s $\color{#35bf28}+0.64\%$
test_func_call_cm_runtime[True-compile] 0.9527ms 0.8542ms 1.1707 KOps/s 1.1558 KOps/s $\color{#35bf28}+1.28\%$
test_func_call_cm_runtime[True-compile-overhead] 0.8866ms 0.8125ms 1.2307 KOps/s 1.1247 KOps/s $\textbf{\color{#35bf28}+9.42\%}$
test_vmap_func_call_cm_runtime[eager] 3.1435ms 2.6439ms 378.2340 Ops/s 374.6426 Ops/s $\color{#35bf28}+0.96\%$
test_vmap_func_call_cm_runtime[compile] 4.1376ms 3.6395ms 274.7624 Ops/s 271.7415 Ops/s $\color{#35bf28}+1.11\%$
test_vmap_func_call_cm_runtime[compile-overhead] 4.1152ms 3.6275ms 275.6705 Ops/s 273.5468 Ops/s $\color{#35bf28}+0.78\%$
test_distributed 0.6590ms 0.1451ms 6.8928 KOps/s 5.8950 KOps/s $\textbf{\color{#35bf28}+16.93\%}$
test_tdmodule 0.6175ms 0.1954ms 5.1180 KOps/s 5.1081 KOps/s $\color{#35bf28}+0.19\%$
test_tdmodule_dispatch 0.4176ms 0.3768ms 2.6541 KOps/s 2.6519 KOps/s $\color{#35bf28}+0.08\%$
test_tdseq 61.4910μs 26.9708μs 37.0771 KOps/s 36.8718 KOps/s $\color{#35bf28}+0.56\%$
test_tdseq_dispatch 0.2629ms 0.2190ms 4.5671 KOps/s 4.5415 KOps/s $\color{#35bf28}+0.56\%$
test_instantiation_functorch 2.2064ms 2.0459ms 488.7862 Ops/s 484.9185 Ops/s $\color{#35bf28}+0.80\%$
test_exec_functorch 0.2500ms 0.1755ms 5.6971 KOps/s 5.8047 KOps/s $\color{#d91a1a}-1.85\%$
test_exec_functional_call 0.2254ms 0.1549ms 6.4562 KOps/s 6.5353 KOps/s $\color{#d91a1a}-1.21\%$
test_exec_td_decorator 0.5145ms 0.2432ms 4.1116 KOps/s 4.1286 KOps/s $\color{#d91a1a}-0.41\%$
test_vmap_mlp_speed_decorator[True-True] 1.2873ms 1.1135ms 898.0470 Ops/s 892.1198 Ops/s $\color{#35bf28}+0.66\%$
test_vmap_mlp_speed_decorator[True-False] 1.3363ms 1.1094ms 901.4079 Ops/s 894.3339 Ops/s $\color{#35bf28}+0.79\%$
test_vmap_mlp_speed_decorator[False-True] 1.0112ms 0.8103ms 1.2341 KOps/s 1.2221 KOps/s $\color{#35bf28}+0.98\%$
test_vmap_mlp_speed_decorator[False-False] 1.0341ms 0.8101ms 1.2343 KOps/s 1.2221 KOps/s $\color{#35bf28}+1.00\%$
test_vmap_transformer_speed_decorator[True-True] 27.0413ms 24.7839ms 40.3488 Ops/s 40.1035 Ops/s $\color{#35bf28}+0.61\%$
test_vmap_transformer_speed_decorator[True-False] 24.7977ms 24.6328ms 40.5962 Ops/s 40.3034 Ops/s $\color{#35bf28}+0.73\%$
test_vmap_transformer_speed_decorator[False-True] 24.4680ms 24.2876ms 41.1733 Ops/s 40.7144 Ops/s $\color{#35bf28}+1.13\%$
test_vmap_transformer_speed_decorator[False-False] 25.1667ms 24.2072ms 41.3100 Ops/s 40.9490 Ops/s $\color{#35bf28}+0.88\%$
test_to_module_speed[True] 1.7623ms 1.6597ms 602.5247 Ops/s 597.2316 Ops/s $\color{#35bf28}+0.89\%$
test_to_module_speed[False] 1.7314ms 1.6329ms 612.4218 Ops/s 608.5267 Ops/s $\color{#35bf28}+0.64\%$
test_to_module_plain_tensor_speed[None] 2.5755ms 1.7453ms 572.9677 Ops/s 571.7737 Ops/s $\color{#35bf28}+0.21\%$
test_to_module_plain_tensor_speed[False] 2.1667ms 1.5764ms 634.3739 Ops/s 631.3734 Ops/s $\color{#35bf28}+0.48\%$
test_to_module_plain_tensor_speed[True] 3.4994ms 3.3952ms 294.5351 Ops/s 293.0578 Ops/s $\color{#35bf28}+0.50\%$
test_tc_init 91.1420μs 44.2209μs 22.6138 KOps/s 22.7635 KOps/s $\color{#d91a1a}-0.66\%$
test_tc_init_tensor_only 36.3410μs 9.6121μs 104.0354 KOps/s 103.2629 KOps/s $\color{#35bf28}+0.75\%$
test_tc_init_nested 0.1270ms 87.6071μs 11.4146 KOps/s 11.3268 KOps/s $\color{#35bf28}+0.78\%$
test_tc_init_many_fields 46.4810μs 17.1797μs 58.2082 KOps/s 57.6043 KOps/s $\color{#35bf28}+1.05\%$
test_tc_first_layer_tensor 21.6110μs 1.7859μs 559.9410 KOps/s 559.7304 KOps/s $\color{#35bf28}+0.04\%$
test_tc_first_layer_tensor_only 2.7031μs 0.4152μs 2.4085 MOps/s 2.4853 MOps/s $\color{#d91a1a}-3.09\%$
test_tc_first_layer_tensor_set 39.7410μs 4.2324μs 236.2718 KOps/s 237.8965 KOps/s $\color{#d91a1a}-0.68\%$
test_tc_first_layer_tensor_only_set 42.4510μs 3.5092μs 284.9645 KOps/s 278.9682 KOps/s $\color{#35bf28}+2.15\%$
test_tc_first_layer_nontensor 37.1710μs 6.1609μs 162.3145 KOps/s 163.5334 KOps/s $\color{#d91a1a}-0.75\%$
test_tc_second_layer_tensor 30.2110μs 4.4206μs 226.2158 KOps/s 229.1516 KOps/s $\color{#d91a1a}-1.28\%$
test_tc_second_layer_nontensor 51.4210μs 8.6306μs 115.8669 KOps/s 117.0461 KOps/s $\color{#d91a1a}-1.01\%$
test_unbind 0.2869s 13.9325ms 71.7746 Ops/s 66.8972 Ops/s $\textbf{\color{#35bf28}+7.29\%}$
test_full_like 4.4947ms 3.9773ms 251.4294 Ops/s 228.4135 Ops/s $\textbf{\color{#35bf28}+10.08\%}$
test_zeros_like 4.4704ms 4.2713ms 234.1232 Ops/s 229.0937 Ops/s $\color{#35bf28}+2.20\%$
test_ones_like 4.5403ms 4.3694ms 228.8660 Ops/s 233.7009 Ops/s $\color{#d91a1a}-2.07\%$
test_clone 7.0584ms 6.5318ms 153.0980 Ops/s 155.2843 Ops/s $\color{#d91a1a}-1.41\%$
test_squeeze 77.3020μs 14.1124μs 70.8595 KOps/s 70.3720 KOps/s $\color{#35bf28}+0.69\%$
test_unsqueeze 0.1866ms 0.1115ms 8.9689 KOps/s 8.8115 KOps/s $\color{#35bf28}+1.79\%$
test_split 0.4349ms 0.1919ms 5.2100 KOps/s 5.2060 KOps/s $\color{#35bf28}+0.08\%$
test_permute 0.2711ms 0.1990ms 5.0243 KOps/s 4.9681 KOps/s $\color{#35bf28}+1.13\%$
test_stack 43.1171ms 35.1895ms 28.4175 Ops/s 55.3709 Ops/s $\textbf{\color{#d91a1a}-48.68\%}$
test_cat 45.4272ms 43.1354ms 23.1828 Ops/s 55.4324 Ops/s $\textbf{\color{#d91a1a}-58.18\%}$
test_sequential_tensordict 0.6439ms 0.5668ms 1.7642 KOps/s 1.7571 KOps/s $\color{#35bf28}+0.40\%$
test_sequential_graph_module 0.1714ms 0.1167ms 8.5681 KOps/s 8.8335 KOps/s $\color{#d91a1a}-3.01\%$
test_nested_tensordict 0.9118ms 0.8238ms 1.2140 KOps/s 1.2301 KOps/s $\color{#d91a1a}-1.32\%$
test_nested_graph_module 0.2529ms 0.1258ms 7.9499 KOps/s 8.0771 KOps/s $\color{#d91a1a}-1.57\%$

@vmoens
vmoens merged commit 4fd1aba into main Jul 9, 2026
61 of 74 checks passed
@vmoens
vmoens deleted the claude/elegant-benz-baa161 branch July 9, 2026 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant