Skip to content

[Feature] Support group_dst/group_src in TensorDict p2p methods - #1739

Merged
vmoens merged 1 commit into
mainfrom
claude/wizardly-driscoll-116e33
Jul 9, 2026
Merged

[Feature] Support group_dst/group_src in TensorDict p2p methods#1739
vmoens merged 1 commit into
mainfrom
claude/wizardly-driscoll-116e33

Conversation

@vmoens

@vmoens vmoens commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds group_dst (for send/isend) and group_src (for recv/irecv) keyword arguments to the TensorDict p2p methods, mirroring the torch functional API. The peer is specified either globally (dst/src) or relative to group (group_dst/group_src), never both.

When the group-relative spelling is used, the p2p calls are issued directly on the group's backend (pg.send([tensor], group_dst, tag) / pg.recv([tensor], group_src, tag)) instead of going through the functional API. This makes the methods work with standalone ProcessGroup objects constructed directly against a store (e.g. dist.ProcessGroupGloo(PrefixStore(...), rank, world_size, timeout)) that were never registered through init_process_group/new_group — the functional API rejects those because it resolves ranks through the c10d registry (and dist.recv(..., group_src=...) still hits the registry on current torch, so it cannot be built on directly).

Motivation

Elastic topologies (dynamic worker fleets, per-client server/client pair groups) deliberately avoid a fixed global world: no all-participants startup barrier, workers can join and leave, and the default process group stays free for training collectives. Today such code has to hand-roll a per-leaf pg.send/pg.recv loop that reimplements TensorDictBase._send. With this change it can delegate to td.isend/td.irecv and gets the consolidated=True single-buffer path (one p2p op per message instead of one per leaf) for free. Unblocks a follow-up on pytorch/rl#3958.

Changes

  • send/isend: new keyword-only group_dst; recv/irecv: new keyword-only group_src; dst/src become optional.
  • Validation (shared _check_p2p_peer helper): group_dst/group_src require group, are mutually exclusive with dst/src, and exactly one peer spelling must be provided.
  • The consolidated=True send/recv path forwards the new arguments.
  • LazyStackedTensorDict overrides forward the new parameters (_recv now also forwards non_blocking, which was previously dropped).
  • Stubs (_tensorcollection.pyi, tensorclass.pyi) updated; tensorclasses get the feature through the wrapped methods.
  • No behavior change for existing callers: the global-rank path, the tag protocol (incrementing tags, pseudo_rand), and wire compatibility are untouched.

Tests

Extends test/distributed/test_distributed.py:

  • Raw gloo pair group over TCPStore/PrefixStore with no init_process_group anywhere: send/recv, isend/recv, irecv (with and without return_premature), and a consolidated=True round trip, all including a nested key.
  • Registered-group regression: group_dst/group_src with a new_group subgroup.
  • Error cases: group_dst without group, dst and group_dst together, and neither provided.
  • NCCL raw-pair variant, skipped unless 2+ CUDA devices are available.

Existing send/recv suites (58 tests) pass unchanged.

🤖 Generated with Claude Code

Add group_dst (send/isend) and group_src (recv/irecv) keyword arguments,
mirroring the torch functional API. When set, the p2p calls are issued
directly on the group's backend (pg.send/pg.recv), so standalone process
groups built against a store -- never registered through
init_process_group/new_group -- work on every supported torch version.
The consolidated single-buffer path forwards the new arguments as well.

Global-rank dst/src behavior, the tag protocol, and wire compatibility
are unchanged.

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 Feature New feature Test Distributed tensorclass and removed Feature New feature 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 GPU Benchmark Tests

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

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2118ms 0.1659ms 6.0260 KOps/s 6.1599 KOps/s $\color{#d91a1a}-2.17\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.4261ms 0.2862ms 3.4942 KOps/s 3.4598 KOps/s $\color{#35bf28}+0.99\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.7934ms 0.7574ms 1.3202 KOps/s 1.3189 KOps/s $\color{#35bf28}+0.10\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.4229ms 0.3304ms 3.0267 KOps/s 2.9697 KOps/s $\color{#35bf28}+1.92\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.2406ms 1.1059ms 904.2504 Ops/s 894.5448 Ops/s $\color{#35bf28}+1.08\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.6479ms 7.3395ms 136.2497 Ops/s 135.3431 Ops/s $\color{#35bf28}+0.67\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.2994ms 0.2589ms 3.8628 KOps/s 4.0550 KOps/s $\color{#d91a1a}-4.74\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.5125ms 0.3826ms 2.6140 KOps/s 2.7475 KOps/s $\color{#d91a1a}-4.86\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9833ms 0.8148ms 1.2274 KOps/s 1.2470 KOps/s $\color{#d91a1a}-1.57\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3387ms 0.2611ms 3.8293 KOps/s 4.0584 KOps/s $\textbf{\color{#d91a1a}-5.65\%}$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.5036ms 0.3844ms 2.6016 KOps/s 2.7398 KOps/s $\textbf{\color{#d91a1a}-5.04\%}$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9296ms 0.8715ms 1.1474 KOps/s 1.1620 KOps/s $\color{#d91a1a}-1.25\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.3101ms 0.2117ms 4.7239 KOps/s 4.7737 KOps/s $\color{#d91a1a}-1.04\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 1.2861ms 0.7963ms 1.2557 KOps/s 1.2400 KOps/s $\color{#35bf28}+1.27\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 4.3251ms 3.2283ms 309.7644 Ops/s 314.4893 Ops/s $\color{#d91a1a}-1.50\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.5255ms 0.3734ms 2.6784 KOps/s 2.6894 KOps/s $\color{#d91a1a}-0.41\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 1.9966ms 1.7658ms 566.3063 Ops/s 607.2226 Ops/s $\textbf{\color{#d91a1a}-6.74\%}$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.2401ms 9.9978ms 100.0217 Ops/s 97.7904 Ops/s $\color{#35bf28}+2.28\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4521ms 0.3862ms 2.5894 KOps/s 2.4698 KOps/s $\color{#35bf28}+4.84\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.6172ms 1.5288ms 654.1008 Ops/s 656.2872 Ops/s $\color{#d91a1a}-0.33\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 6.2583ms 5.8845ms 169.9382 Ops/s 175.4789 Ops/s $\color{#d91a1a}-3.16\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4570ms 0.3827ms 2.6133 KOps/s 2.6103 KOps/s $\color{#35bf28}+0.11\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.6061ms 1.4638ms 683.1746 Ops/s 693.1746 Ops/s $\color{#d91a1a}-1.44\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 6.2225ms 6.0545ms 165.1655 Ops/s 171.0265 Ops/s $\color{#d91a1a}-3.43\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2159ms 0.1667ms 5.9998 KOps/s 5.9173 KOps/s $\color{#35bf28}+1.39\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7661ms 0.6486ms 1.5418 KOps/s 1.5413 KOps/s $\color{#35bf28}+0.03\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7522ms 2.6041ms 384.0074 Ops/s 387.0067 Ops/s $\color{#d91a1a}-0.77\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.4132ms 0.3174ms 3.1505 KOps/s 3.1131 KOps/s $\color{#35bf28}+1.20\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.7014ms 1.5712ms 636.4598 Ops/s 657.5170 Ops/s $\color{#d91a1a}-3.20\%$
test_collector_preallocated_write[copy_at-cpu-4096-32] 9.7196ms 9.5331ms 104.8975 Ops/s 106.1683 Ops/s $\color{#d91a1a}-1.20\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.3741ms 0.3164ms 3.1604 KOps/s 3.1562 KOps/s $\color{#35bf28}+0.13\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.3902ms 1.1820ms 846.0578 Ops/s 847.1315 Ops/s $\color{#d91a1a}-0.13\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.7229ms 4.6238ms 216.2702 Ops/s 216.0834 Ops/s $\color{#35bf28}+0.09\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.4507ms 0.3229ms 3.0967 KOps/s 3.1422 KOps/s $\color{#d91a1a}-1.45\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.3149ms 1.2179ms 821.0705 Ops/s 841.6360 Ops/s $\color{#d91a1a}-2.44\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.9252ms 4.8231ms 207.3366 Ops/s 215.1040 Ops/s $\color{#d91a1a}-3.61\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1869ms 0.1187ms 8.4268 KOps/s 8.5263 KOps/s $\color{#d91a1a}-1.17\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5127ms 0.4586ms 2.1804 KOps/s 2.1693 KOps/s $\color{#35bf28}+0.51\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.8760ms 1.8211ms 549.1300 Ops/s 543.3375 Ops/s $\color{#35bf28}+1.07\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3053ms 0.2498ms 4.0037 KOps/s 3.8635 KOps/s $\color{#35bf28}+3.63\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.4269ms 1.2946ms 772.4338 Ops/s 834.2593 Ops/s $\textbf{\color{#d91a1a}-7.41\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 8.8861ms 8.5731ms 116.6434 Ops/s 116.8976 Ops/s $\color{#d91a1a}-0.22\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3925ms 0.2892ms 3.4576 KOps/s 3.6488 KOps/s $\textbf{\color{#d91a1a}-5.24\%}$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.2010ms 1.0664ms 937.7688 Ops/s 982.7862 Ops/s $\color{#d91a1a}-4.58\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.0813ms 3.9613ms 252.4445 Ops/s 250.4851 Ops/s $\color{#35bf28}+0.78\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3543ms 0.2719ms 3.6784 KOps/s 3.6697 KOps/s $\color{#35bf28}+0.24\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.0806ms 1.0156ms 984.6639 Ops/s 979.4520 Ops/s $\color{#35bf28}+0.53\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.2150ms 3.9836ms 251.0312 Ops/s 250.5221 Ops/s $\color{#35bf28}+0.20\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 15.8068ms 15.6566ms 63.8706 Ops/s 63.7467 Ops/s $\color{#35bf28}+0.19\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 32.1217ms 31.8322ms 31.4147 Ops/s 31.6952 Ops/s $\color{#d91a1a}-0.88\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 84.0172ms 83.6780ms 11.9506 Ops/s 12.0315 Ops/s $\color{#d91a1a}-0.67\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.1983s 0.1975s 5.0623 Ops/s 5.1402 Ops/s $\color{#d91a1a}-1.52\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 13.3072ms 13.1837ms 75.8512 Ops/s 75.5638 Ops/s $\color{#35bf28}+0.38\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 26.0326ms 25.6597ms 38.9717 Ops/s 38.6828 Ops/s $\color{#35bf28}+0.75\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 15.5162ms 13.4283ms 74.4697 Ops/s 75.3255 Ops/s $\color{#d91a1a}-1.14\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 26.3337ms 26.1578ms 38.2295 Ops/s 38.3028 Ops/s $\color{#d91a1a}-0.19\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 54.6474ms 54.1401ms 18.4706 Ops/s 20.2410 Ops/s $\textbf{\color{#d91a1a}-8.75\%}$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1024s 0.1018s 9.8202 Ops/s 9.9388 Ops/s $\color{#d91a1a}-1.19\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1533s 0.1521s 6.5758 Ops/s 7.0978 Ops/s $\textbf{\color{#d91a1a}-7.35\%}$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3300s 0.3290s 3.0395 Ops/s 3.1754 Ops/s $\color{#d91a1a}-4.28\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 75.0680ms 73.0729ms 13.6850 Ops/s 13.1904 Ops/s $\color{#35bf28}+3.75\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1469s 0.1453s 6.8816 Ops/s 6.8741 Ops/s $\color{#35bf28}+0.11\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 74.7539ms 73.0181ms 13.6952 Ops/s 13.8802 Ops/s $\color{#d91a1a}-1.33\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1585s 0.1545s 6.4714 Ops/s 6.8842 Ops/s $\textbf{\color{#d91a1a}-6.00\%}$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 29.6988ms 29.4779ms 33.9238 Ops/s 34.1484 Ops/s $\color{#d91a1a}-0.66\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 59.9499ms 59.7999ms 16.7224 Ops/s 16.8395 Ops/s $\color{#d91a1a}-0.70\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1285s 0.1279s 7.8196 Ops/s 8.5369 Ops/s $\textbf{\color{#d91a1a}-8.40\%}$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2761s 0.2752s 3.6339 Ops/s 3.8065 Ops/s $\color{#d91a1a}-4.54\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 42.4895ms 42.3664ms 23.6036 Ops/s 23.5921 Ops/s $\color{#35bf28}+0.05\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 84.9340ms 84.7858ms 11.7944 Ops/s 11.7909 Ops/s $\color{#35bf28}+0.03\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 43.0908ms 42.6694ms 23.4360 Ops/s 23.4470 Ops/s $\color{#d91a1a}-0.05\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 85.5426ms 85.3717ms 11.7135 Ops/s 11.7282 Ops/s $\color{#d91a1a}-0.13\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.0781ms 19.8824ms 50.2957 Ops/s 50.0092 Ops/s $\color{#35bf28}+0.57\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 42.7341ms 41.2890ms 24.2195 Ops/s 24.5500 Ops/s $\color{#d91a1a}-1.35\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1188s 0.1159s 8.6246 Ops/s 9.5929 Ops/s $\textbf{\color{#d91a1a}-10.09\%}$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2533s 0.2527s 3.9566 Ops/s 4.1799 Ops/s $\textbf{\color{#d91a1a}-5.34\%}$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 36.4688ms 36.2657ms 27.5743 Ops/s 27.4143 Ops/s $\color{#35bf28}+0.58\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 72.7881ms 72.4981ms 13.7935 Ops/s 13.7249 Ops/s $\color{#35bf28}+0.50\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 36.5349ms 36.1870ms 27.6343 Ops/s 27.5186 Ops/s $\color{#35bf28}+0.42\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 77.3304ms 75.9362ms 13.1689 Ops/s 13.6705 Ops/s $\color{#d91a1a}-3.67\%$
test_plain_set_nested 40.0310μs 14.7074μs 67.9930 KOps/s 68.8398 KOps/s $\color{#d91a1a}-1.23\%$
test_plain_set_stack_nested 58.0610μs 14.3991μs 69.4490 KOps/s 69.9535 KOps/s $\color{#d91a1a}-0.72\%$
test_plain_set_nested_inplace 74.4920μs 15.5812μs 64.1798 KOps/s 62.8803 KOps/s $\color{#35bf28}+2.07\%$
test_plain_set_stack_nested_inplace 89.0620μs 15.5351μs 64.3705 KOps/s 64.3710 KOps/s $-0.00\%$
test_items 29.7910μs 5.4810μs 182.4481 KOps/s 181.5364 KOps/s $\color{#35bf28}+0.50\%$
test_items_nested 0.5379ms 0.4451ms 2.2464 KOps/s 2.2456 KOps/s $\color{#35bf28}+0.04\%$
test_items_nested_locked 0.5570ms 0.4501ms 2.2219 KOps/s 2.2194 KOps/s $\color{#35bf28}+0.11\%$
test_items_nested_leaf 0.1607ms 93.1427μs 10.7362 KOps/s 10.6628 KOps/s $\color{#35bf28}+0.69\%$
test_items_stack_nested 0.5111ms 0.4413ms 2.2661 KOps/s 2.2386 KOps/s $\color{#35bf28}+1.23\%$
test_items_stack_nested_leaf 0.1343ms 92.9888μs 10.7540 KOps/s 10.6587 KOps/s $\color{#35bf28}+0.89\%$
test_items_stack_nested_locked 0.5299ms 0.4432ms 2.2563 KOps/s 2.2452 KOps/s $\color{#35bf28}+0.49\%$
test_keys 27.2410μs 4.1157μs 242.9703 KOps/s 239.8685 KOps/s $\color{#35bf28}+1.29\%$
test_keys_nested 0.1999ms 0.1276ms 7.8343 KOps/s 7.9655 KOps/s $\color{#d91a1a}-1.65\%$
test_keys_nested_locked 0.8264ms 0.1351ms 7.4022 KOps/s 7.4409 KOps/s $\color{#d91a1a}-0.52\%$
test_keys_nested_leaf 0.1607ms 0.1182ms 8.4633 KOps/s 8.5006 KOps/s $\color{#d91a1a}-0.44\%$
test_keys_stack_nested 0.1663ms 0.1282ms 7.8020 KOps/s 7.9334 KOps/s $\color{#d91a1a}-1.66\%$
test_keys_stack_nested_leaf 0.1569ms 0.1188ms 8.4156 KOps/s 8.5412 KOps/s $\color{#d91a1a}-1.47\%$
test_keys_stack_nested_locked 0.2041ms 0.1351ms 7.4030 KOps/s 7.4690 KOps/s $\color{#d91a1a}-0.88\%$
test_values 4.3781μs 0.9733μs 1.0274 MOps/s 974.8165 KOps/s $\textbf{\color{#35bf28}+5.40\%}$
test_values_nested 85.9610μs 51.5719μs 19.3904 KOps/s 19.4994 KOps/s $\color{#d91a1a}-0.56\%$
test_values_nested_locked 90.6220μs 53.4219μs 18.7189 KOps/s 18.5276 KOps/s $\color{#35bf28}+1.03\%$
test_values_nested_leaf 91.8620μs 59.1178μs 16.9154 KOps/s 16.9567 KOps/s $\color{#d91a1a}-0.24\%$
test_values_stack_nested 90.5020μs 51.0503μs 19.5885 KOps/s 19.4298 KOps/s $\color{#35bf28}+0.82\%$
test_values_stack_nested_leaf 0.1029ms 58.3834μs 17.1282 KOps/s 16.9989 KOps/s $\color{#35bf28}+0.76\%$
test_values_stack_nested_locked 99.7720μs 54.1176μs 18.4783 KOps/s 18.4278 KOps/s $\color{#35bf28}+0.27\%$
test_membership 5.4385μs 0.7999μs 1.2501 MOps/s 1.2896 MOps/s $\color{#d91a1a}-3.06\%$
test_membership_nested 27.6510μs 2.8237μs 354.1486 KOps/s 356.5754 KOps/s $\color{#d91a1a}-0.68\%$
test_membership_nested_leaf 17.6455μs 2.7086μs 369.1884 KOps/s 372.6254 KOps/s $\color{#d91a1a}-0.92\%$
test_membership_stacked_nested 38.8410μs 2.7394μs 365.0430 KOps/s 369.9362 KOps/s $\color{#d91a1a}-1.32\%$
test_membership_stacked_nested_leaf 32.3210μs 2.7390μs 365.1027 KOps/s 369.3447 KOps/s $\color{#d91a1a}-1.15\%$
test_membership_nested_last 37.5910μs 4.2698μs 234.2032 KOps/s 235.4971 KOps/s $\color{#d91a1a}-0.55\%$
test_membership_nested_leaf_last 34.2310μs 4.2223μs 236.8373 KOps/s 233.7955 KOps/s $\color{#35bf28}+1.30\%$
test_membership_stacked_nested_last 50.8510μs 4.0945μs 244.2308 KOps/s 245.8474 KOps/s $\color{#d91a1a}-0.66\%$
test_membership_stacked_nested_leaf_last 45.3910μs 4.0551μs 246.6040 KOps/s 245.8078 KOps/s $\color{#35bf28}+0.32\%$
test_nested_getleaf 63.4420μs 20.4289μs 48.9503 KOps/s 49.2310 KOps/s $\color{#d91a1a}-0.57\%$
test_nested_get 44.2710μs 19.1664μs 52.1747 KOps/s 51.6401 KOps/s $\color{#35bf28}+1.04\%$
test_stacked_getleaf 63.4720μs 20.0108μs 49.9730 KOps/s 49.7051 KOps/s $\color{#35bf28}+0.54\%$
test_stacked_get 57.6210μs 19.1931μs 52.1020 KOps/s 52.6277 KOps/s $\color{#d91a1a}-1.00\%$
test_nested_getitemleaf 51.3610μs 20.9631μs 47.7029 KOps/s 47.5064 KOps/s $\color{#35bf28}+0.41\%$
test_nested_getitem 85.9120μs 19.7464μs 50.6422 KOps/s 50.2528 KOps/s $\color{#35bf28}+0.77\%$
test_stacked_getitemleaf 58.3210μs 20.4768μs 48.8357 KOps/s 48.0859 KOps/s $\color{#35bf28}+1.56\%$
test_stacked_getitem 57.5220μs 19.3881μs 51.5780 KOps/s 51.3639 KOps/s $\color{#35bf28}+0.42\%$
test_lock_nested 0.5936ms 0.4797ms 2.0846 KOps/s 2.0618 KOps/s $\color{#35bf28}+1.10\%$
test_lock_stack_nested 0.6489ms 0.4862ms 2.0567 KOps/s 2.0638 KOps/s $\color{#d91a1a}-0.35\%$
test_unlock_nested 0.4821ms 0.3832ms 2.6097 KOps/s 2.6339 KOps/s $\color{#d91a1a}-0.92\%$
test_unlock_stack_nested 0.5621ms 0.3863ms 2.5890 KOps/s 2.6144 KOps/s $\color{#d91a1a}-0.97\%$
test_flatten_speed 0.2823ms 0.1159ms 8.6287 KOps/s 8.4720 KOps/s $\color{#35bf28}+1.85\%$
test_unflatten_speed 0.6474ms 0.5372ms 1.8617 KOps/s 1.8657 KOps/s $\color{#d91a1a}-0.22\%$
test_common_ops 0.8755ms 0.7070ms 1.4144 KOps/s 1.4711 KOps/s $\color{#d91a1a}-3.85\%$
test_creation 0.1365ms 3.0645μs 326.3212 KOps/s 335.2914 KOps/s $\color{#d91a1a}-2.68\%$
test_creation_empty 33.3110μs 6.7293μs 148.6045 KOps/s 151.1765 KOps/s $\color{#d91a1a}-1.70\%$
test_creation_nested_1 43.2610μs 11.0922μs 90.1538 KOps/s 91.0168 KOps/s $\color{#d91a1a}-0.95\%$
test_creation_nested_2 40.6210μs 12.8630μs 77.7425 KOps/s 78.4626 KOps/s $\color{#d91a1a}-0.92\%$
test_creation_many_keys[10] 46.7410μs 20.1236μs 49.6929 KOps/s 49.8210 KOps/s $\color{#d91a1a}-0.26\%$
test_creation_many_keys[50] 0.1273ms 86.0563μs 11.6203 KOps/s 11.5413 KOps/s $\color{#35bf28}+0.68\%$
test_creation_many_keys[100] 0.2217ms 0.1698ms 5.8896 KOps/s 5.8602 KOps/s $\color{#35bf28}+0.50\%$
test_creation_nested_many_keys[10] 86.2320μs 43.1683μs 23.1651 KOps/s 23.2654 KOps/s $\color{#d91a1a}-0.43\%$
test_creation_nested_many_keys[50] 0.2387ms 0.1767ms 5.6598 KOps/s 5.7047 KOps/s $\color{#d91a1a}-0.79\%$
test_clone 41.7910μs 12.2705μs 81.4964 KOps/s 81.8866 KOps/s $\color{#d91a1a}-0.48\%$
test_getitem[int] 1.5222ms 14.9316μs 66.9721 KOps/s 67.8304 KOps/s $\color{#d91a1a}-1.27\%$
test_getitem[slice_int] 0.1388ms 24.4383μs 40.9194 KOps/s 42.2156 KOps/s $\color{#d91a1a}-3.07\%$
test_getitem[range] 0.1759ms 59.9409μs 16.6831 KOps/s 16.6807 KOps/s $\color{#35bf28}+0.01\%$
test_getitem[tuple] 0.1405ms 23.5314μs 42.4965 KOps/s 42.4611 KOps/s $\color{#35bf28}+0.08\%$
test_getitem[list] 0.1764ms 55.8453μs 17.9066 KOps/s 18.1012 KOps/s $\color{#d91a1a}-1.07\%$
test_setitem_dim[int] 43.9410μs 24.4384μs 40.9192 KOps/s 40.0492 KOps/s $\color{#35bf28}+2.17\%$
test_setitem_dim[slice_int] 63.3920μs 40.5705μs 24.6484 KOps/s 24.1776 KOps/s $\color{#35bf28}+1.95\%$
test_setitem_dim[range] 0.1305ms 90.3578μs 11.0671 KOps/s 10.8803 KOps/s $\color{#35bf28}+1.72\%$
test_setitem_dim[tuple] 73.5920μs 38.0746μs 26.2642 KOps/s 25.9911 KOps/s $\color{#35bf28}+1.05\%$
test_setitem 43.2610μs 16.4790μs 60.6833 KOps/s 61.3144 KOps/s $\color{#d91a1a}-1.03\%$
test_set 48.2610μs 15.8808μs 62.9690 KOps/s 63.4704 KOps/s $\color{#d91a1a}-0.79\%$
test_set_shared 0.6926ms 0.2106ms 4.7491 KOps/s 4.7816 KOps/s $\color{#d91a1a}-0.68\%$
test_update 0.4616ms 20.6234μs 48.4885 KOps/s 48.5436 KOps/s $\color{#d91a1a}-0.11\%$
test_update_nested 69.3210μs 31.9586μs 31.2905 KOps/s 31.6644 KOps/s $\color{#d91a1a}-1.18\%$
test_update__nested 0.5346ms 31.2321μs 32.0183 KOps/s 31.3838 KOps/s $\color{#35bf28}+2.02\%$
test_set_nested 48.4410μs 17.6544μs 56.6431 KOps/s 58.0995 KOps/s $\color{#d91a1a}-2.51\%$
test_set_nested_new 63.6010μs 22.5233μs 44.3985 KOps/s 44.6774 KOps/s $\color{#d91a1a}-0.62\%$
test_select 73.3620μs 38.1096μs 26.2401 KOps/s 25.9973 KOps/s $\color{#35bf28}+0.93\%$
test_select_nested 0.1195ms 70.5198μs 14.1804 KOps/s 14.2167 KOps/s $\color{#d91a1a}-0.26\%$
test_exclude_nested 0.1296ms 86.1324μs 11.6100 KOps/s 11.6550 KOps/s $\color{#d91a1a}-0.39\%$
test_empty[True] 0.4803ms 0.3792ms 2.6372 KOps/s 2.6187 KOps/s $\color{#35bf28}+0.71\%$
test_empty[False] 7.2953μs 1.3157μs 760.0295 KOps/s 739.7141 KOps/s $\color{#35bf28}+2.75\%$
test_to 0.1101ms 70.5301μs 14.1783 KOps/s 14.3452 KOps/s $\color{#d91a1a}-1.16\%$
test_to_nonblocking 0.1203ms 69.5910μs 14.3697 KOps/s 14.5978 KOps/s $\color{#d91a1a}-1.56\%$
test_unbind_speed 0.4194ms 0.3272ms 3.0565 KOps/s 3.0742 KOps/s $\color{#d91a1a}-0.58\%$
test_unbind_speed_stack0 0.3866ms 0.3245ms 3.0815 KOps/s 3.1213 KOps/s $\color{#d91a1a}-1.28\%$
test_unbind_speed_stack1 0.1165s 0.8339ms 1.1992 KOps/s 1.2038 KOps/s $\color{#d91a1a}-0.38\%$
test_split 0.1162s 1.3831ms 722.9945 Ops/s 657.8285 Ops/s $\textbf{\color{#35bf28}+9.91\%}$
test_chunk 1.3042ms 1.1833ms 845.1000 Ops/s 839.2718 Ops/s $\color{#35bf28}+0.69\%$
test_to_cpu_blocking 0.1357s 21.8375ms 45.7927 Ops/s 51.1208 Ops/s $\textbf{\color{#d91a1a}-10.42\%}$
test_to_cpu_global_sync 11.4674ms 11.3805ms 87.8698 Ops/s 87.0251 Ops/s $\color{#35bf28}+0.97\%$
test_to_cpu_event_sync 12.9197ms 12.3801ms 80.7748 Ops/s 71.1672 Ops/s $\textbf{\color{#35bf28}+13.50\%}$
test_to_cpu_default 12.6839ms 12.3993ms 80.6496 Ops/s 79.9695 Ops/s $\color{#35bf28}+0.85\%$
test_consolidate[False-None] 4.4224ms 4.0059ms 249.6300 Ops/s 249.1823 Ops/s $\color{#35bf28}+0.18\%$
test_consolidate[default-None] 3.1482ms 2.1813ms 458.4437 Ops/s 453.4562 Ops/s $\color{#35bf28}+1.10\%$
test_consolidate[reduce-overhead-None] 3.1336ms 2.1007ms 476.0357 Ops/s 469.7286 Ops/s $\color{#35bf28}+1.34\%$
test_consolidate_njt[False-None] 5.3206ms 5.0500ms 198.0189 Ops/s 201.7125 Ops/s $\color{#d91a1a}-1.83\%$
test_to[False-False-None] 2.3127ms 2.1508ms 464.9396 Ops/s 456.3719 Ops/s $\color{#35bf28}+1.88\%$
test_to[True-False-None] 2.1962ms 1.9108ms 523.3389 Ops/s 532.6624 Ops/s $\color{#d91a1a}-1.75\%$
test_to[within-False-None] 6.1639ms 6.0012ms 166.6328 Ops/s 165.0832 Ops/s $\color{#35bf28}+0.94\%$
test_to[True-default-None] 10.3897ms 10.1928ms 98.1085 Ops/s 99.2381 Ops/s $\color{#d91a1a}-1.14\%$
test_to_njt[False-False-None] 7.2793ms 6.8434ms 146.1272 Ops/s 144.4439 Ops/s $\color{#35bf28}+1.17\%$
test_to_njt[True-False-None] 4.0543ms 3.9068ms 255.9664 Ops/s 259.7596 Ops/s $\color{#d91a1a}-1.46\%$
test_to_njt[within-False-None] 9.2560ms 8.8198ms 113.3811 Ops/s 112.7731 Ops/s $\color{#35bf28}+0.54\%$
test_creation[device0] 0.4895ms 0.1180ms 8.4745 KOps/s 8.7324 KOps/s $\color{#d91a1a}-2.95\%$
test_creation_from_tensor 0.5129ms 0.1157ms 8.6452 KOps/s 8.7974 KOps/s $\color{#d91a1a}-1.73\%$
test_add_one[memmap_tensor0] 39.4310μs 5.9645μs 167.6583 KOps/s 166.2272 KOps/s $\color{#35bf28}+0.86\%$
test_contiguous[memmap_tensor0] 29.0510μs 0.6129μs 1.6316 MOps/s 2.1202 MOps/s $\textbf{\color{#d91a1a}-23.04\%}$
test_stack[memmap_tensor0] 87.0310μs 4.0566μs 246.5119 KOps/s 248.2668 KOps/s $\color{#d91a1a}-0.71\%$
test_memmaptd_index 1.2433ms 0.2681ms 3.7295 KOps/s 3.7075 KOps/s $\color{#35bf28}+0.59\%$
test_memmaptd_index_astensor 0.5151ms 0.3687ms 2.7125 KOps/s 2.7506 KOps/s $\color{#d91a1a}-1.39\%$
test_memmaptd_index_op 0.9959ms 0.6124ms 1.6328 KOps/s 1.6556 KOps/s $\color{#d91a1a}-1.38\%$
test_serialize_model 0.1381s 0.1349s 7.4150 Ops/s 3.2621 Ops/s $\textbf{\color{#35bf28}+127.31\%}$
test_serialize_model_pickle 1.3472s 1.2097s 0.8267 Ops/s 0.8243 Ops/s $\color{#35bf28}+0.28\%$
test_serialize_weights 0.1371s 0.1355s 7.3803 Ops/s 7.4718 Ops/s $\color{#d91a1a}-1.22\%$
test_serialize_weights_returnearly 64.3532ms 59.7848ms 16.7267 Ops/s 16.1431 Ops/s $\color{#35bf28}+3.61\%$
test_serialize_weights_pickle 1.3710s 1.2159s 0.8225 Ops/s 0.7710 Ops/s $\textbf{\color{#35bf28}+6.68\%}$
test_reshape_pytree 0.2040ms 31.2793μs 31.9700 KOps/s 32.4585 KOps/s $\color{#d91a1a}-1.51\%$
test_reshape_td 84.1720μs 43.8332μs 22.8138 KOps/s 22.9476 KOps/s $\color{#d91a1a}-0.58\%$
test_view_pytree 0.2270ms 30.5225μs 32.7627 KOps/s 32.8491 KOps/s $\color{#d91a1a}-0.26\%$
test_view_td 0.1450ms 51.0366μs 19.5938 KOps/s 18.9639 KOps/s $\color{#35bf28}+3.32\%$
test_unbind_pytree 0.2434ms 34.3258μs 29.1326 KOps/s 28.7564 KOps/s $\color{#35bf28}+1.31\%$
test_unbind_td 0.1750ms 48.4737μs 20.6297 KOps/s 20.6606 KOps/s $\color{#d91a1a}-0.15\%$
test_split_pytree 0.2366ms 39.5990μs 25.2531 KOps/s 25.2625 KOps/s $\color{#d91a1a}-0.04\%$
test_split_td 0.1146ms 71.8063μs 13.9264 KOps/s 14.4376 KOps/s $\color{#d91a1a}-3.54\%$
test_add_pytree 0.1925ms 38.1053μs 26.2431 KOps/s 26.4603 KOps/s $\color{#d91a1a}-0.82\%$
test_add_td 91.6520μs 50.5534μs 19.7811 KOps/s 19.8923 KOps/s $\color{#d91a1a}-0.56\%$
test_compile_add_one_nested[tensordict-compile] 0.4012ms 0.2746ms 3.6420 KOps/s 3.6539 KOps/s $\color{#d91a1a}-0.33\%$
test_compile_add_one_nested[tensordict-eager] 0.3206ms 0.1930ms 5.1813 KOps/s 5.1503 KOps/s $\color{#35bf28}+0.60\%$
test_compile_add_one_nested[pytree-compile] 0.2079ms 0.1554ms 6.4333 KOps/s 6.6014 KOps/s $\color{#d91a1a}-2.55\%$
test_compile_add_one_nested[pytree-eager] 0.4937ms 0.1747ms 5.7249 KOps/s 5.7248 KOps/s $+0.00\%$
test_compile_copy_nested[tensordict-compile] 67.6310μs 21.5571μs 46.3884 KOps/s 48.0546 KOps/s $\color{#d91a1a}-3.47\%$
test_compile_copy_nested[tensordict-eager] 0.2905ms 50.7170μs 19.7173 KOps/s 19.4466 KOps/s $\color{#35bf28}+1.39\%$
test_compile_copy_nested[pytree-compile] 0.1211ms 19.5135μs 51.2465 KOps/s 52.0772 KOps/s $\color{#d91a1a}-1.60\%$
test_compile_copy_nested[pytree-eager] 0.3759ms 63.7049μs 15.6974 KOps/s 15.6604 KOps/s $\color{#35bf28}+0.24\%$
test_compile_add_one_flat[tensordict-compile] 0.4587ms 0.3046ms 3.2826 KOps/s 3.1047 KOps/s $\textbf{\color{#35bf28}+5.73\%}$
test_compile_add_one_flat[tensordict-eager] 0.3507ms 0.2844ms 3.5164 KOps/s 3.5061 KOps/s $\color{#35bf28}+0.29\%$
test_compile_add_one_flat[tensorclass-compile] 0.2967ms 0.2138ms 4.6783 KOps/s 4.7106 KOps/s $\color{#d91a1a}-0.69\%$
test_compile_add_one_flat[tensorclass-eager] 0.1284ms 75.2968μs 13.2808 KOps/s 13.2946 KOps/s $\color{#d91a1a}-0.10\%$
test_compile_add_one_flat[pytree-compile] 0.4683ms 0.2412ms 4.1456 KOps/s 4.1946 KOps/s $\color{#d91a1a}-1.17\%$
test_compile_add_one_flat[pytree-eager] 0.8171ms 0.5272ms 1.8969 KOps/s 1.9043 KOps/s $\color{#d91a1a}-0.39\%$
test_compile_add_self_flat[tensordict-eager] 0.3990ms 0.3309ms 3.0219 KOps/s 2.9826 KOps/s $\color{#35bf28}+1.32\%$
test_compile_add_self_flat[tensordict-compile] 0.4035ms 0.3039ms 3.2903 KOps/s 3.1215 KOps/s $\textbf{\color{#35bf28}+5.41\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1581ms 89.8301μs 11.1321 KOps/s 10.7071 KOps/s $\color{#35bf28}+3.97\%$
test_compile_add_self_flat[tensorclass-compile] 0.2798ms 0.2141ms 4.6713 KOps/s 4.5794 KOps/s $\color{#35bf28}+2.01\%$
test_compile_add_self_flat[pytree-eager] 0.6694ms 0.4493ms 2.2255 KOps/s 2.2359 KOps/s $\color{#d91a1a}-0.46\%$
test_compile_add_self_flat[pytree-compile] 0.5063ms 0.2393ms 4.1794 KOps/s 4.1628 KOps/s $\color{#35bf28}+0.40\%$
test_compile_copy_flat[tensordict-compile] 90.2820μs 25.7809μs 38.7884 KOps/s 35.5967 KOps/s $\textbf{\color{#35bf28}+8.97\%}$
test_compile_copy_flat[tensordict-eager] 0.1045ms 39.6853μs 25.1982 KOps/s 24.8768 KOps/s $\color{#35bf28}+1.29\%$
test_compile_copy_flat[pytree-compile] 0.1444ms 24.9000μs 40.1607 KOps/s 39.1965 KOps/s $\color{#35bf28}+2.46\%$
test_compile_copy_flat[pytree-eager] 0.3224ms 49.8132μs 20.0750 KOps/s 19.7428 KOps/s $\color{#35bf28}+1.68\%$
test_compile_assign_and_add[tensordict-compile] 2.0272ms 0.2525ms 3.9597 KOps/s 3.5417 KOps/s $\textbf{\color{#35bf28}+11.80\%}$
test_compile_assign_and_add[tensordict-eager] 3.4300ms 3.3060ms 302.4799 Ops/s 294.5042 Ops/s $\color{#35bf28}+2.71\%$
test_compile_assign_and_add[pytree-compile] 1.9066ms 0.1950ms 5.1272 KOps/s 5.1573 KOps/s $\color{#d91a1a}-0.58\%$
test_compile_assign_and_add[pytree-eager] 3.0070ms 2.7896ms 358.4765 Ops/s 354.6403 Ops/s $\color{#35bf28}+1.08\%$
test_compile_indexing[tensor-tensordict-compile] 0.2383ms 0.1583ms 6.3165 KOps/s 6.5251 KOps/s $\color{#d91a1a}-3.20\%$
test_compile_indexing[tensor-tensordict-eager] 0.3828ms 73.4403μs 13.6165 KOps/s 13.8422 KOps/s $\color{#d91a1a}-1.63\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2664ms 0.1360ms 7.3503 KOps/s 7.5526 KOps/s $\color{#d91a1a}-2.68\%$
test_compile_indexing[tensor-tensorclass-eager] 0.3102ms 42.7752μs 23.3780 KOps/s 22.9582 KOps/s $\color{#35bf28}+1.83\%$
test_compile_indexing[tensor-pytree-compile] 0.1747ms 0.1358ms 7.3656 KOps/s 7.4411 KOps/s $\color{#d91a1a}-1.01\%$
test_compile_indexing[tensor-pytree-eager] 0.2477ms 42.7273μs 23.4043 KOps/s 22.9182 KOps/s $\color{#35bf28}+2.12\%$
test_compile_indexing[slice-tensordict-compile] 0.2077ms 89.2440μs 11.2052 KOps/s 10.9498 KOps/s $\color{#35bf28}+2.33\%$
test_compile_indexing[slice-tensordict-eager] 0.2073ms 27.4937μs 36.3720 KOps/s 37.4677 KOps/s $\color{#d91a1a}-2.92\%$
test_compile_indexing[slice-tensorclass-compile] 0.2050ms 69.9712μs 14.2916 KOps/s 13.9942 KOps/s $\color{#35bf28}+2.13\%$
test_compile_indexing[slice-tensorclass-eager] 0.2526ms 21.3680μs 46.7990 KOps/s 48.4157 KOps/s $\color{#d91a1a}-3.34\%$
test_compile_indexing[slice-pytree-compile] 0.1076ms 71.3633μs 14.0128 KOps/s 14.1399 KOps/s $\color{#d91a1a}-0.90\%$
test_compile_indexing[slice-pytree-eager] 0.2915ms 21.2226μs 47.1195 KOps/s 47.6828 KOps/s $\color{#d91a1a}-1.18\%$
test_compile_indexing[int-tensordict-compile] 0.1246ms 87.5859μs 11.4174 KOps/s 11.2565 KOps/s $\color{#35bf28}+1.43\%$
test_compile_indexing[int-tensordict-eager] 0.2839ms 27.3072μs 36.6204 KOps/s 37.4975 KOps/s $\color{#d91a1a}-2.34\%$
test_compile_indexing[int-tensorclass-compile] 0.1044ms 70.7941μs 14.1255 KOps/s 14.3358 KOps/s $\color{#d91a1a}-1.47\%$
test_compile_indexing[int-tensorclass-eager] 0.2555ms 21.3161μs 46.9129 KOps/s 48.0307 KOps/s $\color{#d91a1a}-2.33\%$
test_compile_indexing[int-pytree-compile] 0.1081ms 73.6376μs 13.5800 KOps/s 14.2709 KOps/s $\color{#d91a1a}-4.84\%$
test_compile_indexing[int-pytree-eager] 0.2632ms 21.4028μs 46.7228 KOps/s 47.9956 KOps/s $\color{#d91a1a}-2.65\%$
test_compile_replace[single-eager] 86.5710μs 48.1627μs 20.7629 KOps/s 21.2768 KOps/s $\color{#d91a1a}-2.42\%$
test_compile_replace[single-compile] 0.2532ms 0.1452ms 6.8867 KOps/s 6.8678 KOps/s $\color{#35bf28}+0.28\%$
test_compile_replace[multi-eager] 0.6365ms 0.5562ms 1.7978 KOps/s 1.7950 KOps/s $\color{#35bf28}+0.15\%$
test_compile_replace[multi-compile] 0.2210ms 0.1563ms 6.3979 KOps/s 6.2867 KOps/s $\color{#35bf28}+1.77\%$
test_compile_tc_getattr_20[eager] 0.2336ms 0.1721ms 5.8120 KOps/s 5.8228 KOps/s $\color{#d91a1a}-0.18\%$
test_compile_tc_getattr_20[compile] 0.3532ms 0.1735ms 5.7649 KOps/s 5.7482 KOps/s $\color{#35bf28}+0.29\%$
test_compile_clone_shallow[20-eager] 57.1410μs 18.6275μs 53.6841 KOps/s 53.6621 KOps/s $\color{#35bf28}+0.04\%$
test_compile_clone_shallow[20-compile] 85.5420μs 23.2184μs 43.0694 KOps/s 44.9866 KOps/s $\color{#d91a1a}-4.26\%$
test_compile_clone_shallow[40-eager] 74.6310μs 32.8043μs 30.4838 KOps/s 30.7233 KOps/s $\color{#d91a1a}-0.78\%$
test_compile_clone_shallow[40-compile] 0.1204ms 26.6080μs 37.5827 KOps/s 40.7411 KOps/s $\textbf{\color{#d91a1a}-7.75\%}$
test_compile_clone_shallow[80-eager] 94.1320μs 60.7520μs 16.4604 KOps/s 16.4163 KOps/s $\color{#35bf28}+0.27\%$
test_compile_clone_shallow[80-compile] 78.7920μs 29.5517μs 33.8390 KOps/s 34.9214 KOps/s $\color{#d91a1a}-3.10\%$
test_compile_update_inplace[eager] 0.1574ms 59.6010μs 16.7783 KOps/s 16.5480 KOps/s $\color{#35bf28}+1.39\%$
test_compile_update_inplace[compile] 0.4070ms 0.1237ms 8.0831 KOps/s 8.3728 KOps/s $\color{#d91a1a}-3.46\%$
test_mod_add[eager] 0.2645ms 0.2193ms 4.5589 KOps/s 4.5534 KOps/s $\color{#35bf28}+0.12\%$
test_mod_add[compile] 0.1928ms 0.1191ms 8.3973 KOps/s 8.4717 KOps/s $\color{#d91a1a}-0.88\%$
test_mod_add[compile-overhead] 0.2779ms 0.1948ms 5.1332 KOps/s 5.0779 KOps/s $\color{#35bf28}+1.09\%$
test_mod_wrap[eager] 0.5518ms 0.4605ms 2.1718 KOps/s 2.1697 KOps/s $\color{#35bf28}+0.10\%$
test_mod_wrap[compile] 0.4317ms 0.3510ms 2.8493 KOps/s 2.9344 KOps/s $\color{#d91a1a}-2.90\%$
test_mod_wrap[compile-overhead] 7.9685ms 4.3015ms 232.4766 Ops/s 253.9003 Ops/s $\textbf{\color{#d91a1a}-8.44\%}$
test_mod_wrap_and_backward[eager] 2.2129ms 1.6479ms 606.8212 Ops/s 610.8968 Ops/s $\color{#d91a1a}-0.67\%$
test_mod_wrap_and_backward[compile] 1.7402ms 1.4011ms 713.7232 Ops/s 758.6400 Ops/s $\textbf{\color{#d91a1a}-5.92\%}$
test_mod_wrap_and_backward[compile-overhead] 1.5325ms 0.9295ms 1.0758 KOps/s 1.0585 KOps/s $\color{#35bf28}+1.64\%$
test_seq_add[eager] 0.5933ms 0.4917ms 2.0340 KOps/s 2.0421 KOps/s $\color{#d91a1a}-0.40\%$
test_seq_add[compile] 0.2629ms 0.1316ms 7.5978 KOps/s 7.5331 KOps/s $\color{#35bf28}+0.86\%$
test_seq_add[compile-overhead] 0.2803ms 0.2101ms 4.7604 KOps/s 4.8797 KOps/s $\color{#d91a1a}-2.45\%$
test_seq_wrap[eager] 1.4719ms 1.3796ms 724.8625 Ops/s 726.6171 Ops/s $\color{#d91a1a}-0.24\%$
test_seq_wrap[compile] 0.4215ms 0.3585ms 2.7893 KOps/s 2.6753 KOps/s $\color{#35bf28}+4.26\%$
test_seq_wrap[compile-overhead] 0.4593ms 0.3203ms 3.1218 KOps/s 3.1650 KOps/s $\color{#d91a1a}-1.36\%$
test_func_call_runtime[False-eager] 0.9251ms 0.8436ms 1.1854 KOps/s 1.2722 KOps/s $\textbf{\color{#d91a1a}-6.82\%}$
test_func_call_runtime[False-compile] 0.8795ms 0.7532ms 1.3277 KOps/s 1.3392 KOps/s $\color{#d91a1a}-0.86\%$
test_func_call_runtime[False-compile-overhead] 0.6713ms 0.4996ms 2.0014 KOps/s 2.0153 KOps/s $\color{#d91a1a}-0.69\%$
test_func_call_runtime[True-eager] 1.1388ms 1.0353ms 965.8736 Ops/s 966.3137 Ops/s $\color{#d91a1a}-0.05\%$
test_func_call_runtime[True-compile] 0.8383ms 0.7618ms 1.3127 KOps/s 1.3130 KOps/s $\color{#d91a1a}-0.02\%$
test_func_call_runtime[True-compile-overhead] 0.7009ms 0.5162ms 1.9374 KOps/s 1.9376 KOps/s $\color{#d91a1a}-0.01\%$
test_func_call_cm_runtime[False-eager] 0.9326ms 0.8102ms 1.2343 KOps/s 1.2685 KOps/s $\color{#d91a1a}-2.69\%$
test_func_call_cm_runtime[False-compile] 0.8852ms 0.7291ms 1.3715 KOps/s 1.3270 KOps/s $\color{#35bf28}+3.35\%$
test_func_call_cm_runtime[False-compile-overhead] 0.5614ms 0.4748ms 2.1062 KOps/s 2.0957 KOps/s $\color{#35bf28}+0.50\%$
test_func_call_cm_runtime[True-eager] 1.3372ms 1.1801ms 847.3578 Ops/s 840.7244 Ops/s $\color{#35bf28}+0.79\%$
test_func_call_cm_runtime[True-compile] 0.9425ms 0.8370ms 1.1948 KOps/s 1.1911 KOps/s $\color{#35bf28}+0.31\%$
test_func_call_cm_runtime[True-compile-overhead] 1.2096ms 0.8384ms 1.1927 KOps/s 1.2039 KOps/s $\color{#d91a1a}-0.93\%$
test_vmap_func_call_cm_runtime[eager] 3.0832ms 2.6126ms 382.7616 Ops/s 380.3194 Ops/s $\color{#35bf28}+0.64\%$
test_vmap_func_call_cm_runtime[compile] 4.0898ms 3.6003ms 277.7509 Ops/s 277.4744 Ops/s $\color{#35bf28}+0.10\%$
test_vmap_func_call_cm_runtime[compile-overhead] 4.0783ms 3.6032ms 277.5285 Ops/s 277.5944 Ops/s $\color{#d91a1a}-0.02\%$
test_distributed 1.6011ms 0.1589ms 6.2928 KOps/s 6.9780 KOps/s $\textbf{\color{#d91a1a}-9.82\%}$
test_tdmodule 0.5059ms 0.1881ms 5.3177 KOps/s 5.3136 KOps/s $\color{#35bf28}+0.08\%$
test_tdmodule_dispatch 0.3973ms 0.3597ms 2.7804 KOps/s 2.7564 KOps/s $\color{#35bf28}+0.87\%$
test_tdseq 44.8410μs 26.0684μs 38.3606 KOps/s 38.3502 KOps/s $\color{#35bf28}+0.03\%$
test_tdseq_dispatch 0.2506ms 0.2099ms 4.7636 KOps/s 4.7340 KOps/s $\color{#35bf28}+0.63\%$
test_instantiation_functorch 2.0733ms 1.9428ms 514.7220 Ops/s 514.5116 Ops/s $\color{#35bf28}+0.04\%$
test_exec_functorch 0.2515ms 0.1680ms 5.9528 KOps/s 5.9351 KOps/s $\color{#35bf28}+0.30\%$
test_exec_functional_call 0.2075ms 0.1512ms 6.6135 KOps/s 6.6536 KOps/s $\color{#d91a1a}-0.60\%$
test_exec_td_decorator 0.4982ms 0.2343ms 4.2686 KOps/s 4.2400 KOps/s $\color{#35bf28}+0.68\%$
test_vmap_mlp_speed_decorator[True-True] 1.2618ms 1.0934ms 914.6042 Ops/s 912.2556 Ops/s $\color{#35bf28}+0.26\%$
test_vmap_mlp_speed_decorator[True-False] 1.2976ms 1.0867ms 920.2577 Ops/s 917.7064 Ops/s $\color{#35bf28}+0.28\%$
test_vmap_mlp_speed_decorator[False-True] 0.9991ms 0.8002ms 1.2498 KOps/s 1.2446 KOps/s $\color{#35bf28}+0.41\%$
test_vmap_mlp_speed_decorator[False-False] 1.0362ms 0.7967ms 1.2552 KOps/s 1.2486 KOps/s $\color{#35bf28}+0.53\%$
test_vmap_transformer_speed_decorator[True-True] 26.9322ms 24.6532ms 40.5626 Ops/s 40.8084 Ops/s $\color{#d91a1a}-0.60\%$
test_vmap_transformer_speed_decorator[True-False] 24.6958ms 24.5109ms 40.7981 Ops/s 40.8594 Ops/s $\color{#d91a1a}-0.15\%$
test_vmap_transformer_speed_decorator[False-True] 24.3419ms 24.1417ms 41.4221 Ops/s 41.4322 Ops/s $\color{#d91a1a}-0.02\%$
test_vmap_transformer_speed_decorator[False-False] 24.2896ms 24.0882ms 41.5141 Ops/s 41.4785 Ops/s $\color{#35bf28}+0.09\%$
test_to_module_speed[True] 1.6859ms 1.5451ms 647.2280 Ops/s 626.1310 Ops/s $\color{#35bf28}+3.37\%$
test_to_module_speed[False] 1.6385ms 1.5260ms 655.3052 Ops/s 632.4160 Ops/s $\color{#35bf28}+3.62\%$
test_to_module_plain_tensor_speed[None] 2.2814ms 1.6372ms 610.7870 Ops/s 589.3178 Ops/s $\color{#35bf28}+3.64\%$
test_to_module_plain_tensor_speed[False] 2.0505ms 1.4881ms 672.0135 Ops/s 656.0463 Ops/s $\color{#35bf28}+2.43\%$
test_to_module_plain_tensor_speed[True] 3.5186ms 3.1910ms 313.3791 Ops/s 306.7175 Ops/s $\color{#35bf28}+2.17\%$
test_tc_init 76.7320μs 43.4132μs 23.0345 KOps/s 23.5745 KOps/s $\color{#d91a1a}-2.29\%$
test_tc_init_tensor_only 42.9010μs 9.2450μs 108.1669 KOps/s 111.5957 KOps/s $\color{#d91a1a}-3.07\%$
test_tc_init_nested 0.1225ms 85.4381μs 11.7044 KOps/s 12.0187 KOps/s $\color{#d91a1a}-2.62\%$
test_tc_init_many_fields 52.3510μs 17.0377μs 58.6935 KOps/s 60.6790 KOps/s $\color{#d91a1a}-3.27\%$
test_tc_first_layer_tensor 30.7700μs 1.6936μs 590.4493 KOps/s 595.0115 KOps/s $\color{#d91a1a}-0.77\%$
test_tc_first_layer_tensor_only 2.4734μs 0.3913μs 2.5556 MOps/s 2.5736 MOps/s $\color{#d91a1a}-0.70\%$
test_tc_first_layer_tensor_set 34.4400μs 4.0171μs 248.9341 KOps/s 249.5501 KOps/s $\color{#d91a1a}-0.25\%$
test_tc_first_layer_tensor_only_set 37.3510μs 3.3610μs 297.5269 KOps/s 294.3138 KOps/s $\color{#35bf28}+1.09\%$
test_tc_first_layer_nontensor 27.2310μs 5.8137μs 172.0078 KOps/s 172.4627 KOps/s $\color{#d91a1a}-0.26\%$
test_tc_second_layer_tensor 33.1710μs 4.1830μs 239.0634 KOps/s 253.8748 KOps/s $\textbf{\color{#d91a1a}-5.83\%}$
test_tc_second_layer_nontensor 38.0510μs 8.2462μs 121.2682 KOps/s 122.8558 KOps/s $\color{#d91a1a}-1.29\%$
test_unbind 0.2874s 13.6798ms 73.1004 Ops/s 71.0456 Ops/s $\color{#35bf28}+2.89\%$
test_full_like 4.5937ms 4.3904ms 227.7700 Ops/s 229.4524 Ops/s $\color{#d91a1a}-0.73\%$
test_zeros_like 4.5482ms 4.3693ms 228.8687 Ops/s 229.9852 Ops/s $\color{#d91a1a}-0.49\%$
test_ones_like 4.4944ms 4.3717ms 228.7440 Ops/s 229.9083 Ops/s $\color{#d91a1a}-0.51\%$
test_clone 6.6503ms 6.4447ms 155.1654 Ops/s 155.9562 Ops/s $\color{#d91a1a}-0.51\%$
test_squeeze 74.3620μs 13.5150μs 73.9921 KOps/s 74.6164 KOps/s $\color{#d91a1a}-0.84\%$
test_unsqueeze 0.2901ms 0.1104ms 9.0539 KOps/s 9.2259 KOps/s $\color{#d91a1a}-1.86\%$
test_split 0.2580ms 0.1859ms 5.3795 KOps/s 5.4924 KOps/s $\color{#d91a1a}-2.06\%$
test_permute 0.2451ms 0.1905ms 5.2503 KOps/s 5.2966 KOps/s $\color{#d91a1a}-0.87\%$
test_stack 18.4137ms 18.1921ms 54.9688 Ops/s 55.4053 Ops/s $\color{#d91a1a}-0.79\%$
test_cat 18.6840ms 18.1774ms 55.0135 Ops/s 55.5503 Ops/s $\color{#d91a1a}-0.97\%$
test_sequential_tensordict 0.6865ms 0.5493ms 1.8205 KOps/s 1.7983 KOps/s $\color{#35bf28}+1.24\%$
test_sequential_graph_module 0.1650ms 0.1119ms 8.9365 KOps/s 8.8119 KOps/s $\color{#35bf28}+1.41\%$
test_nested_tensordict 0.8999ms 0.7903ms 1.2653 KOps/s 1.2794 KOps/s $\color{#d91a1a}-1.10\%$
test_nested_graph_module 0.1864ms 0.1193ms 8.3855 KOps/s 8.4758 KOps/s $\color{#d91a1a}-1.07\%$

@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}16$. Worsened: $\large\color{#d91a1a}8$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2039ms 0.1666ms 6.0042 KOps/s 6.0718 KOps/s $\color{#d91a1a}-1.11\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3974ms 0.2948ms 3.3922 KOps/s 3.3718 KOps/s $\color{#35bf28}+0.61\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.8791ms 0.7825ms 1.2779 KOps/s 1.2680 KOps/s $\color{#35bf28}+0.78\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.3893ms 0.3344ms 2.9904 KOps/s 2.9639 KOps/s $\color{#35bf28}+0.90\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.3667ms 1.2010ms 832.6715 Ops/s 896.2992 Ops/s $\textbf{\color{#d91a1a}-7.10\%}$
test_collector_preallocated_write[stack_out-cpu-4096-32] 8.0232ms 7.6168ms 131.2895 Ops/s 130.2980 Ops/s $\color{#35bf28}+0.76\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.3529ms 0.2559ms 3.9079 KOps/s 3.9862 KOps/s $\color{#d91a1a}-1.96\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.4302ms 0.3695ms 2.7067 KOps/s 2.6346 KOps/s $\color{#35bf28}+2.74\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9343ms 0.8262ms 1.2104 KOps/s 1.2053 KOps/s $\color{#35bf28}+0.42\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3947ms 0.2477ms 4.0364 KOps/s 3.9981 KOps/s $\color{#35bf28}+0.96\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.5174ms 0.3691ms 2.7097 KOps/s 2.6404 KOps/s $\color{#35bf28}+2.62\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9803ms 0.8862ms 1.1285 KOps/s 1.1046 KOps/s $\color{#35bf28}+2.16\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2657ms 0.2080ms 4.8067 KOps/s 4.7506 KOps/s $\color{#35bf28}+1.18\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.8831ms 0.8116ms 1.2321 KOps/s 1.2316 KOps/s $\color{#35bf28}+0.04\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.3501ms 3.1955ms 312.9402 Ops/s 309.8055 Ops/s $\color{#35bf28}+1.01\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.5319ms 0.3754ms 2.6640 KOps/s 2.6828 KOps/s $\color{#d91a1a}-0.70\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 2.0095ms 1.8125ms 551.7197 Ops/s 572.1622 Ops/s $\color{#d91a1a}-3.57\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.9713ms 10.5811ms 94.5083 Ops/s 92.0050 Ops/s $\color{#35bf28}+2.72\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4662ms 0.4006ms 2.4960 KOps/s 2.5205 KOps/s $\color{#d91a1a}-0.97\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.7712ms 1.4503ms 689.5100 Ops/s 684.8796 Ops/s $\color{#35bf28}+0.68\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 5.8036ms 5.6287ms 177.6600 Ops/s 174.8459 Ops/s $\color{#35bf28}+1.61\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4593ms 0.3875ms 2.5807 KOps/s 2.5606 KOps/s $\color{#35bf28}+0.79\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5511ms 1.4497ms 689.8060 Ops/s 683.8941 Ops/s $\color{#35bf28}+0.86\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 5.9035ms 5.6805ms 176.0413 Ops/s 174.4599 Ops/s $\color{#35bf28}+0.91\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2149ms 0.1683ms 5.9419 KOps/s 5.9026 KOps/s $\color{#35bf28}+0.67\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7658ms 0.6574ms 1.5212 KOps/s 1.5196 KOps/s $\color{#35bf28}+0.11\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7023ms 2.6100ms 383.1406 Ops/s 383.4960 Ops/s $\color{#d91a1a}-0.09\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.4031ms 0.3118ms 3.2069 KOps/s 3.1677 KOps/s $\color{#35bf28}+1.24\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.9163ms 1.5656ms 638.7472 Ops/s 641.3495 Ops/s $\color{#d91a1a}-0.41\%$
test_collector_preallocated_write[copy_at-cpu-4096-32] 10.0282ms 9.7391ms 102.6792 Ops/s 99.5962 Ops/s $\color{#35bf28}+3.10\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.5044ms 0.3226ms 3.1001 KOps/s 3.0721 KOps/s $\color{#35bf28}+0.91\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.3244ms 1.2002ms 833.2275 Ops/s 823.5967 Ops/s $\color{#35bf28}+1.17\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.8825ms 4.6855ms 213.4230 Ops/s 210.4866 Ops/s $\color{#35bf28}+1.40\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.3794ms 0.3241ms 3.0858 KOps/s 3.0555 KOps/s $\color{#35bf28}+0.99\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.3614ms 1.2091ms 827.0493 Ops/s 822.1589 Ops/s $\color{#35bf28}+0.59\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.8824ms 4.7326ms 211.2987 Ops/s 214.2318 Ops/s $\color{#d91a1a}-1.37\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1583ms 0.1199ms 8.3402 KOps/s 8.6553 KOps/s $\color{#d91a1a}-3.64\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.6397ms 0.4719ms 2.1190 KOps/s 2.1874 KOps/s $\color{#d91a1a}-3.13\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.9693ms 1.8809ms 531.6529 Ops/s 548.4403 Ops/s $\color{#d91a1a}-3.06\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3642ms 0.2622ms 3.8134 KOps/s 3.8227 KOps/s $\color{#d91a1a}-0.24\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.5479ms 1.3313ms 751.1481 Ops/s 799.0378 Ops/s $\textbf{\color{#d91a1a}-5.99\%}$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 9.4523ms 8.9599ms 111.6081 Ops/s 109.1281 Ops/s $\color{#35bf28}+2.27\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.4489ms 0.2761ms 3.6220 KOps/s 3.7719 KOps/s $\color{#d91a1a}-3.97\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.2094ms 1.0209ms 979.5466 Ops/s 989.9621 Ops/s $\color{#d91a1a}-1.05\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.1261ms 4.0012ms 249.9229 Ops/s 253.7771 Ops/s $\color{#d91a1a}-1.52\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3436ms 0.2748ms 3.6392 KOps/s 3.7404 KOps/s $\color{#d91a1a}-2.71\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.0890ms 1.0218ms 978.6733 Ops/s 990.5179 Ops/s $\color{#d91a1a}-1.20\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.2758ms 4.1367ms 241.7412 Ops/s 250.5770 Ops/s $\color{#d91a1a}-3.53\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 17.2464ms 16.6618ms 60.0175 Ops/s 59.6535 Ops/s $\color{#35bf28}+0.61\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.9321ms 33.6697ms 29.7003 Ops/s 29.2794 Ops/s $\color{#35bf28}+1.44\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 87.3174ms 86.5421ms 11.5551 Ops/s 10.4428 Ops/s $\textbf{\color{#35bf28}+10.65\%}$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.2061s 0.2047s 4.8846 Ops/s 4.6670 Ops/s $\color{#35bf28}+4.66\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 13.9907ms 13.8444ms 72.2313 Ops/s 72.4687 Ops/s $\color{#d91a1a}-0.33\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.1423ms 27.0249ms 37.0030 Ops/s 36.9844 Ops/s $\color{#35bf28}+0.05\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.0084ms 13.9283ms 71.7963 Ops/s 71.3505 Ops/s $\color{#35bf28}+0.62\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 27.4218ms 27.2936ms 36.6387 Ops/s 36.3555 Ops/s $\color{#35bf28}+0.78\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 54.2249ms 52.5731ms 19.0211 Ops/s 19.7922 Ops/s $\color{#d91a1a}-3.90\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1046s 0.1042s 9.5972 Ops/s 9.7914 Ops/s $\color{#d91a1a}-1.98\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1573s 0.1530s 6.5374 Ops/s 6.5890 Ops/s $\color{#d91a1a}-0.78\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3361s 0.3349s 2.9860 Ops/s 3.0349 Ops/s $\color{#d91a1a}-1.61\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 78.2118ms 75.7143ms 13.2075 Ops/s 13.8919 Ops/s $\color{#d91a1a}-4.93\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1533s 0.1531s 6.5301 Ops/s 6.9176 Ops/s $\textbf{\color{#d91a1a}-5.60\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 77.3201ms 74.7773ms 13.3730 Ops/s 13.7844 Ops/s $\color{#d91a1a}-2.98\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1698s 0.1525s 6.5581 Ops/s 6.9192 Ops/s $\textbf{\color{#d91a1a}-5.22\%}$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.2450ms 30.1124ms 33.2089 Ops/s 32.6169 Ops/s $\color{#35bf28}+1.82\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.1915ms 61.0474ms 16.3807 Ops/s 16.1240 Ops/s $\color{#35bf28}+1.59\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1218s 0.1206s 8.2951 Ops/s 8.0133 Ops/s $\color{#35bf28}+3.52\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2832s 0.2823s 3.5420 Ops/s 3.5161 Ops/s $\color{#35bf28}+0.74\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 43.7257ms 43.4419ms 23.0193 Ops/s 22.9993 Ops/s $\color{#35bf28}+0.09\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 87.1871ms 86.9787ms 11.4971 Ops/s 11.4899 Ops/s $\color{#35bf28}+0.06\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 44.1348ms 43.9190ms 22.7692 Ops/s 22.7752 Ops/s $\color{#d91a1a}-0.03\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 87.8542ms 87.3833ms 11.4438 Ops/s 11.3483 Ops/s $\color{#35bf28}+0.84\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.5527ms 20.3832ms 49.0600 Ops/s 49.6463 Ops/s $\color{#d91a1a}-1.18\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 41.9197ms 41.6659ms 24.0004 Ops/s 24.3328 Ops/s $\color{#d91a1a}-1.37\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1109s 0.1089s 9.1812 Ops/s 8.8231 Ops/s $\color{#35bf28}+4.06\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2562s 0.2540s 3.9372 Ops/s 3.8295 Ops/s $\color{#35bf28}+2.81\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 38.4190ms 38.2483ms 26.1450 Ops/s 27.3202 Ops/s $\color{#d91a1a}-4.30\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 76.0803ms 73.3824ms 13.6272 Ops/s 13.9308 Ops/s $\color{#d91a1a}-2.18\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 36.8110ms 36.5654ms 27.3483 Ops/s 27.6470 Ops/s $\color{#d91a1a}-1.08\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 73.3030ms 72.7766ms 13.7407 Ops/s 13.9429 Ops/s $\color{#d91a1a}-1.45\%$
test_plain_set_nested 39.5800μs 14.9526μs 66.8778 KOps/s 66.2056 KOps/s $\color{#35bf28}+1.02\%$
test_plain_set_stack_nested 64.0610μs 14.6916μs 68.0659 KOps/s 67.8693 KOps/s $\color{#35bf28}+0.29\%$
test_plain_set_nested_inplace 57.5700μs 16.2346μs 61.5970 KOps/s 60.3684 KOps/s $\color{#35bf28}+2.04\%$
test_plain_set_stack_nested_inplace 56.3100μs 15.9578μs 62.6654 KOps/s 62.1631 KOps/s $\color{#35bf28}+0.81\%$
test_items 35.4910μs 5.9495μs 168.0819 KOps/s 163.5744 KOps/s $\color{#35bf28}+2.76\%$
test_items_nested 0.5151ms 0.4616ms 2.1663 KOps/s 2.1582 KOps/s $\color{#35bf28}+0.38\%$
test_items_nested_locked 0.5730ms 0.4623ms 2.1633 KOps/s 2.1338 KOps/s $\color{#35bf28}+1.38\%$
test_items_nested_leaf 0.1507ms 97.0398μs 10.3050 KOps/s 10.1413 KOps/s $\color{#35bf28}+1.61\%$
test_items_stack_nested 0.6465ms 0.4619ms 2.1651 KOps/s 2.1567 KOps/s $\color{#35bf28}+0.39\%$
test_items_stack_nested_leaf 0.1682ms 95.1340μs 10.5115 KOps/s 10.2657 KOps/s $\color{#35bf28}+2.39\%$
test_items_stack_nested_locked 0.5845ms 0.4584ms 2.1815 KOps/s 2.1188 KOps/s $\color{#35bf28}+2.96\%$
test_keys 33.8100μs 4.1527μs 240.8085 KOps/s 235.1392 KOps/s $\color{#35bf28}+2.41\%$
test_keys_nested 0.1772ms 0.1288ms 7.7636 KOps/s 7.8480 KOps/s $\color{#d91a1a}-1.07\%$
test_keys_nested_locked 0.7936ms 0.1374ms 7.2801 KOps/s 7.2792 KOps/s $\color{#35bf28}+0.01\%$
test_keys_nested_leaf 0.1548ms 0.1194ms 8.3754 KOps/s 8.4234 KOps/s $\color{#d91a1a}-0.57\%$
test_keys_stack_nested 0.1752ms 0.1286ms 7.7766 KOps/s 7.8541 KOps/s $\color{#d91a1a}-0.99\%$
test_keys_stack_nested_leaf 0.2080ms 0.1186ms 8.4335 KOps/s 8.3857 KOps/s $\color{#35bf28}+0.57\%$
test_keys_stack_nested_locked 0.1949ms 0.1370ms 7.2986 KOps/s 7.3790 KOps/s $\color{#d91a1a}-1.09\%$
test_values 5.8800μs 1.0243μs 976.2417 KOps/s 937.2777 KOps/s $\color{#35bf28}+4.16\%$
test_values_nested 79.2100μs 51.9725μs 19.2409 KOps/s 19.0437 KOps/s $\color{#35bf28}+1.04\%$
test_values_nested_locked 0.1071ms 54.9308μs 18.2047 KOps/s 17.8728 KOps/s $\color{#35bf28}+1.86\%$
test_values_nested_leaf 0.1104ms 59.0372μs 16.9385 KOps/s 16.6274 KOps/s $\color{#35bf28}+1.87\%$
test_values_stack_nested 84.9210μs 51.9339μs 19.2552 KOps/s 19.1077 KOps/s $\color{#35bf28}+0.77\%$
test_values_stack_nested_leaf 94.3610μs 59.8761μs 16.7011 KOps/s 16.7041 KOps/s $\color{#d91a1a}-0.02\%$
test_values_stack_nested_locked 0.1017ms 55.1330μs 18.1380 KOps/s 17.9340 KOps/s $\color{#35bf28}+1.14\%$
test_membership 5.5168μs 0.8312μs 1.2031 MOps/s 1.1525 MOps/s $\color{#35bf28}+4.39\%$
test_membership_nested 36.8800μs 2.8982μs 345.0412 KOps/s 326.5616 KOps/s $\textbf{\color{#35bf28}+5.66\%}$
test_membership_nested_leaf 36.8210μs 2.8918μs 345.8031 KOps/s 329.5357 KOps/s $\color{#35bf28}+4.94\%$
test_membership_stacked_nested 35.9500μs 2.8210μs 354.4903 KOps/s 335.6099 KOps/s $\textbf{\color{#35bf28}+5.63\%}$
test_membership_stacked_nested_leaf 46.4800μs 2.7728μs 360.6510 KOps/s 338.9109 KOps/s $\textbf{\color{#35bf28}+6.41\%}$
test_membership_nested_last 26.8600μs 4.3830μs 228.1561 KOps/s 218.2358 KOps/s $\color{#35bf28}+4.55\%$
test_membership_nested_leaf_last 33.8400μs 4.3680μs 228.9353 KOps/s 221.9712 KOps/s $\color{#35bf28}+3.14\%$
test_membership_stacked_nested_last 34.5400μs 4.2176μs 237.1017 KOps/s 230.1726 KOps/s $\color{#35bf28}+3.01\%$
test_membership_stacked_nested_leaf_last 54.2810μs 4.1697μs 239.8268 KOps/s 228.8804 KOps/s $\color{#35bf28}+4.78\%$
test_nested_getleaf 84.7410μs 20.8136μs 48.0455 KOps/s 46.6874 KOps/s $\color{#35bf28}+2.91\%$
test_nested_get 52.0110μs 19.9597μs 50.1009 KOps/s 49.2646 KOps/s $\color{#35bf28}+1.70\%$
test_stacked_getleaf 61.7210μs 20.8540μs 47.9525 KOps/s 48.4755 KOps/s $\color{#d91a1a}-1.08\%$
test_stacked_get 63.5410μs 20.0117μs 49.9706 KOps/s 50.0453 KOps/s $\color{#d91a1a}-0.15\%$
test_nested_getitemleaf 47.8900μs 21.6726μs 46.1413 KOps/s 45.6304 KOps/s $\color{#35bf28}+1.12\%$
test_nested_getitem 59.7300μs 20.4774μs 48.8343 KOps/s 48.3755 KOps/s $\color{#35bf28}+0.95\%$
test_stacked_getitemleaf 75.4600μs 20.8802μs 47.8922 KOps/s 46.5584 KOps/s $\color{#35bf28}+2.86\%$
test_stacked_getitem 61.8000μs 20.0529μs 49.8680 KOps/s 49.1100 KOps/s $\color{#35bf28}+1.54\%$
test_lock_nested 0.5945ms 0.4996ms 2.0017 KOps/s 1.9933 KOps/s $\color{#35bf28}+0.43\%$
test_lock_stack_nested 0.6389ms 0.5069ms 1.9729 KOps/s 1.9490 KOps/s $\color{#35bf28}+1.22\%$
test_unlock_nested 0.5059ms 0.3962ms 2.5242 KOps/s 2.5351 KOps/s $\color{#d91a1a}-0.43\%$
test_unlock_stack_nested 0.6699ms 0.4004ms 2.4975 KOps/s 2.4690 KOps/s $\color{#35bf28}+1.16\%$
test_flatten_speed 0.3123ms 0.1232ms 8.1162 KOps/s 8.0170 KOps/s $\color{#35bf28}+1.24\%$
test_unflatten_speed 0.6600ms 0.5559ms 1.7988 KOps/s 1.7593 KOps/s $\color{#35bf28}+2.24\%$
test_common_ops 0.8314ms 0.6939ms 1.4411 KOps/s 1.4221 KOps/s $\color{#35bf28}+1.34\%$
test_creation 0.1521ms 3.1500μs 317.4623 KOps/s 312.9590 KOps/s $\color{#35bf28}+1.44\%$
test_creation_empty 35.0210μs 6.9417μs 144.0564 KOps/s 142.5312 KOps/s $\color{#35bf28}+1.07\%$
test_creation_nested_1 38.0000μs 11.3884μs 87.8085 KOps/s 86.1210 KOps/s $\color{#35bf28}+1.96\%$
test_creation_nested_2 43.4610μs 13.3880μs 74.6937 KOps/s 73.9129 KOps/s $\color{#35bf28}+1.06\%$
test_creation_many_keys[10] 46.5010μs 21.0798μs 47.4387 KOps/s 46.5398 KOps/s $\color{#35bf28}+1.93\%$
test_creation_many_keys[50] 0.1212ms 90.6035μs 11.0371 KOps/s 10.8397 KOps/s $\color{#35bf28}+1.82\%$
test_creation_many_keys[100] 0.2309ms 0.1773ms 5.6388 KOps/s 5.5581 KOps/s $\color{#35bf28}+1.45\%$
test_creation_nested_many_keys[10] 76.3810μs 45.4536μs 22.0005 KOps/s 21.8976 KOps/s $\color{#35bf28}+0.47\%$
test_creation_nested_many_keys[50] 0.2306ms 0.1846ms 5.4161 KOps/s 5.3765 KOps/s $\color{#35bf28}+0.74\%$
test_clone 40.8000μs 12.9738μs 77.0781 KOps/s 77.6013 KOps/s $\color{#d91a1a}-0.67\%$
test_getitem[int] 1.6124ms 15.3642μs 65.0862 KOps/s 65.5716 KOps/s $\color{#d91a1a}-0.74\%$
test_getitem[slice_int] 0.1441ms 24.7225μs 40.4491 KOps/s 40.6084 KOps/s $\color{#d91a1a}-0.39\%$
test_getitem[range] 0.1762ms 62.2567μs 16.0625 KOps/s 16.3043 KOps/s $\color{#d91a1a}-1.48\%$
test_getitem[tuple] 0.1471ms 23.6860μs 42.2191 KOps/s 41.6360 KOps/s $\color{#35bf28}+1.40\%$
test_getitem[list] 0.1799ms 56.4523μs 17.7141 KOps/s 17.4668 KOps/s $\color{#35bf28}+1.42\%$
test_setitem_dim[int] 64.7400μs 25.6319μs 39.0138 KOps/s 39.7922 KOps/s $\color{#d91a1a}-1.96\%$
test_setitem_dim[slice_int] 71.8000μs 43.3439μs 23.0713 KOps/s 24.0292 KOps/s $\color{#d91a1a}-3.99\%$
test_setitem_dim[range] 0.1332ms 95.5433μs 10.4665 KOps/s 10.7072 KOps/s $\color{#d91a1a}-2.25\%$
test_setitem_dim[tuple] 74.8100μs 40.4969μs 24.6933 KOps/s 25.6746 KOps/s $\color{#d91a1a}-3.82\%$
test_setitem 55.3600μs 17.0706μs 58.5803 KOps/s 58.8108 KOps/s $\color{#d91a1a}-0.39\%$
test_set 84.7410μs 16.3024μs 61.3407 KOps/s 60.8039 KOps/s $\color{#35bf28}+0.88\%$
test_set_shared 0.5800ms 0.2110ms 4.7388 KOps/s 4.8341 KOps/s $\color{#d91a1a}-1.97\%$
test_update 0.2764ms 20.9292μs 47.7801 KOps/s 47.7498 KOps/s $\color{#35bf28}+0.06\%$
test_update_nested 68.8010μs 32.5418μs 30.7297 KOps/s 30.3842 KOps/s $\color{#35bf28}+1.14\%$
test_update__nested 0.5097ms 32.2161μs 31.0404 KOps/s 30.8905 KOps/s $\color{#35bf28}+0.49\%$
test_set_nested 57.2400μs 17.9150μs 55.8192 KOps/s 55.6270 KOps/s $\color{#35bf28}+0.35\%$
test_set_nested_new 58.3300μs 22.6570μs 44.1364 KOps/s 44.3225 KOps/s $\color{#d91a1a}-0.42\%$
test_select 0.1294ms 38.8315μs 25.7523 KOps/s 25.4058 KOps/s $\color{#35bf28}+1.36\%$
test_select_nested 0.1081ms 73.6765μs 13.5728 KOps/s 13.5958 KOps/s $\color{#d91a1a}-0.17\%$
test_exclude_nested 0.1294ms 90.1634μs 11.0910 KOps/s 11.0376 KOps/s $\color{#35bf28}+0.48\%$
test_empty[True] 0.5050ms 0.3927ms 2.5468 KOps/s 2.4926 KOps/s $\color{#35bf28}+2.18\%$
test_empty[False] 9.9550μs 1.3798μs 724.7666 KOps/s 716.0147 KOps/s $\color{#35bf28}+1.22\%$
test_to 0.1131ms 71.6202μs 13.9625 KOps/s 14.2644 KOps/s $\color{#d91a1a}-2.12\%$
test_to_nonblocking 0.1151ms 72.1382μs 13.8623 KOps/s 14.3783 KOps/s $\color{#d91a1a}-3.59\%$
test_unbind_speed 0.3880ms 0.3379ms 2.9592 KOps/s 2.9833 KOps/s $\color{#d91a1a}-0.81\%$
test_unbind_speed_stack0 0.4194ms 0.3329ms 3.0042 KOps/s 3.0028 KOps/s $\color{#35bf28}+0.04\%$
test_unbind_speed_stack1 0.1183s 0.8503ms 1.1760 KOps/s 1.1542 KOps/s $\color{#35bf28}+1.88\%$
test_split 0.1184s 1.4536ms 687.9338 Ops/s 623.7439 Ops/s $\textbf{\color{#35bf28}+10.29\%}$
test_chunk 1.3062ms 1.2409ms 805.8474 Ops/s 801.7565 Ops/s $\color{#35bf28}+0.51\%$
test_to_cpu_blocking 20.1625ms 20.0049ms 49.9876 Ops/s 49.6571 Ops/s $\color{#35bf28}+0.67\%$
test_to_cpu_global_sync 11.6816ms 11.6095ms 86.1366 Ops/s 84.9243 Ops/s $\color{#35bf28}+1.43\%$
test_to_cpu_event_sync 13.0106ms 12.6596ms 78.9911 Ops/s 78.0524 Ops/s $\color{#35bf28}+1.20\%$
test_to_cpu_default 12.9396ms 12.6441ms 79.0885 Ops/s 69.4015 Ops/s $\textbf{\color{#35bf28}+13.96\%}$
test_consolidate[False-None] 4.2365ms 4.1837ms 239.0237 Ops/s 236.5227 Ops/s $\color{#35bf28}+1.06\%$
test_consolidate[default-None] 3.2675ms 2.3560ms 424.4510 Ops/s 435.5766 Ops/s $\color{#d91a1a}-2.55\%$
test_consolidate[reduce-overhead-None] 3.2360ms 2.2485ms 444.7504 Ops/s 450.6566 Ops/s $\color{#d91a1a}-1.31\%$
test_consolidate_njt[False-None] 5.1251ms 5.0469ms 198.1423 Ops/s 193.9521 Ops/s $\color{#35bf28}+2.16\%$
test_to[False-False-None] 2.3061ms 2.1829ms 458.1145 Ops/s 469.5476 Ops/s $\color{#d91a1a}-2.43\%$
test_to[True-False-None] 2.2234ms 1.9488ms 513.1297 Ops/s 517.1403 Ops/s $\color{#d91a1a}-0.78\%$
test_to[within-False-None] 6.5391ms 6.2811ms 159.2070 Ops/s 160.2760 Ops/s $\color{#d91a1a}-0.67\%$
test_to[True-default-None] 10.4035ms 10.2649ms 97.4197 Ops/s 92.7562 Ops/s $\textbf{\color{#35bf28}+5.03\%}$
test_to_njt[False-False-None] 7.0988ms 6.9327ms 144.2431 Ops/s 140.8914 Ops/s $\color{#35bf28}+2.38\%$
test_to_njt[True-False-None] 3.9977ms 3.8267ms 261.3208 Ops/s 254.6954 Ops/s $\color{#35bf28}+2.60\%$
test_to_njt[within-False-None] 9.0303ms 8.9482ms 111.7537 Ops/s 109.2539 Ops/s $\color{#35bf28}+2.29\%$
test_creation[device0] 0.4587ms 0.1145ms 8.7313 KOps/s 8.7001 KOps/s $\color{#35bf28}+0.36\%$
test_creation_from_tensor 0.5280ms 0.1126ms 8.8836 KOps/s 8.8926 KOps/s $\color{#d91a1a}-0.10\%$
test_add_one[memmap_tensor0] 0.3713ms 6.3762μs 156.8334 KOps/s 166.1752 KOps/s $\textbf{\color{#d91a1a}-5.62\%}$
test_contiguous[memmap_tensor0] 27.5500μs 0.6943μs 1.4404 MOps/s 2.0533 MOps/s $\textbf{\color{#d91a1a}-29.85\%}$
test_stack[memmap_tensor0] 84.1800μs 4.2528μs 235.1368 KOps/s 246.0617 KOps/s $\color{#d91a1a}-4.44\%$
test_memmaptd_index 1.2921ms 0.2719ms 3.6774 KOps/s 3.6853 KOps/s $\color{#d91a1a}-0.21\%$
test_memmaptd_index_astensor 0.5271ms 0.3777ms 2.6474 KOps/s 2.6375 KOps/s $\color{#35bf28}+0.38\%$
test_memmaptd_index_op 1.0501ms 0.6173ms 1.6199 KOps/s 1.6004 KOps/s $\color{#35bf28}+1.22\%$
test_serialize_model 0.1358s 0.1350s 7.4094 Ops/s 7.3132 Ops/s $\color{#35bf28}+1.32\%$
test_serialize_model_pickle 1.3775s 1.2147s 0.8233 Ops/s 0.8250 Ops/s $\color{#d91a1a}-0.21\%$
test_serialize_weights 0.1356s 0.1345s 7.4347 Ops/s 3.1756 Ops/s $\textbf{\color{#35bf28}+134.12\%}$
test_serialize_weights_returnearly 75.5965ms 65.7323ms 15.2132 Ops/s 15.4902 Ops/s $\color{#d91a1a}-1.79\%$
test_serialize_weights_pickle 1.3631s 1.2130s 0.8244 Ops/s 0.8233 Ops/s $\color{#35bf28}+0.14\%$
test_reshape_pytree 0.2049ms 32.3866μs 30.8769 KOps/s 31.3224 KOps/s $\color{#d91a1a}-1.42\%$
test_reshape_td 88.0200μs 45.5869μs 21.9361 KOps/s 22.0495 KOps/s $\color{#d91a1a}-0.51\%$
test_view_pytree 0.2247ms 31.9232μs 31.3252 KOps/s 31.7911 KOps/s $\color{#d91a1a}-1.47\%$
test_view_td 0.2199ms 53.9782μs 18.5260 KOps/s 18.3444 KOps/s $\color{#35bf28}+0.99\%$
test_unbind_pytree 0.2363ms 35.8333μs 27.9070 KOps/s 27.8380 KOps/s $\color{#35bf28}+0.25\%$
test_unbind_td 0.1599ms 49.2720μs 20.2955 KOps/s 19.9441 KOps/s $\color{#35bf28}+1.76\%$
test_split_pytree 0.2087ms 41.2419μs 24.2472 KOps/s 24.2102 KOps/s $\color{#35bf28}+0.15\%$
test_split_td 0.1826ms 71.4643μs 13.9930 KOps/s 14.2690 KOps/s $\color{#d91a1a}-1.93\%$
test_add_pytree 0.1929ms 39.9058μs 25.0590 KOps/s 25.7769 KOps/s $\color{#d91a1a}-2.78\%$
test_add_td 0.1057ms 52.4167μs 19.0779 KOps/s 19.2144 KOps/s $\color{#d91a1a}-0.71\%$
test_compile_add_one_nested[tensordict-compile] 0.3632ms 0.2751ms 3.6350 KOps/s 3.7190 KOps/s $\color{#d91a1a}-2.26\%$
test_compile_add_one_nested[tensordict-eager] 0.2794ms 0.2013ms 4.9666 KOps/s 4.9708 KOps/s $\color{#d91a1a}-0.08\%$
test_compile_add_one_nested[pytree-compile] 0.2757ms 0.1599ms 6.2546 KOps/s 6.2975 KOps/s $\color{#d91a1a}-0.68\%$
test_compile_add_one_nested[pytree-eager] 0.6127ms 0.1825ms 5.4786 KOps/s 5.5271 KOps/s $\color{#d91a1a}-0.88\%$
test_compile_copy_nested[tensordict-compile] 83.4900μs 32.7385μs 30.5451 KOps/s 47.1033 KOps/s $\textbf{\color{#d91a1a}-35.15\%}$
test_compile_copy_nested[tensordict-eager] 0.1013ms 54.5054μs 18.3468 KOps/s 18.2952 KOps/s $\color{#35bf28}+0.28\%$
test_compile_copy_nested[pytree-compile] 0.1957ms 19.4732μs 51.3527 KOps/s 51.6171 KOps/s $\color{#d91a1a}-0.51\%$
test_compile_copy_nested[pytree-eager] 0.3801ms 66.9995μs 14.9255 KOps/s 15.0327 KOps/s $\color{#d91a1a}-0.71\%$
test_compile_add_one_flat[tensordict-compile] 0.5059ms 0.3048ms 3.2804 KOps/s 3.0875 KOps/s $\textbf{\color{#35bf28}+6.25\%}$
test_compile_add_one_flat[tensordict-eager] 0.3840ms 0.2867ms 3.4879 KOps/s 3.4341 KOps/s $\color{#35bf28}+1.57\%$
test_compile_add_one_flat[tensorclass-compile] 0.3524ms 0.2085ms 4.7968 KOps/s 4.5672 KOps/s $\textbf{\color{#35bf28}+5.03\%}$
test_compile_add_one_flat[tensorclass-eager] 0.1372ms 75.4454μs 13.2546 KOps/s 13.1767 KOps/s $\color{#35bf28}+0.59\%$
test_compile_add_one_flat[pytree-compile] 0.3307ms 0.2426ms 4.1222 KOps/s 4.0479 KOps/s $\color{#35bf28}+1.83\%$
test_compile_add_one_flat[pytree-eager] 0.9145ms 0.5441ms 1.8377 KOps/s 1.8362 KOps/s $\color{#35bf28}+0.09\%$
test_compile_add_self_flat[tensordict-eager] 0.4846ms 0.3428ms 2.9174 KOps/s 2.9114 KOps/s $\color{#35bf28}+0.21\%$
test_compile_add_self_flat[tensordict-compile] 0.4882ms 0.3065ms 3.2626 KOps/s 3.0667 KOps/s $\textbf{\color{#35bf28}+6.39\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1461ms 94.4476μs 10.5879 KOps/s 10.8734 KOps/s $\color{#d91a1a}-2.63\%$
test_compile_add_self_flat[tensorclass-compile] 0.3524ms 0.2126ms 4.7034 KOps/s 4.5414 KOps/s $\color{#35bf28}+3.57\%$
test_compile_add_self_flat[pytree-eager] 0.7063ms 0.4498ms 2.2230 KOps/s 2.1819 KOps/s $\color{#35bf28}+1.89\%$
test_compile_add_self_flat[pytree-compile] 0.4866ms 0.2432ms 4.1122 KOps/s 3.9993 KOps/s $\color{#35bf28}+2.82\%$
test_compile_copy_flat[tensordict-compile] 81.5010μs 26.6415μs 37.5354 KOps/s 36.3883 KOps/s $\color{#35bf28}+3.15\%$
test_compile_copy_flat[tensordict-eager] 78.4610μs 40.8291μs 24.4923 KOps/s 24.3854 KOps/s $\color{#35bf28}+0.44\%$
test_compile_copy_flat[pytree-compile] 0.1127ms 25.4324μs 39.3199 KOps/s 38.2091 KOps/s $\color{#35bf28}+2.91\%$
test_compile_copy_flat[pytree-eager] 0.3431ms 50.8122μs 19.6803 KOps/s 19.5607 KOps/s $\color{#35bf28}+0.61\%$
test_compile_assign_and_add[tensordict-compile] 2.1268ms 0.2514ms 3.9785 KOps/s 3.5906 KOps/s $\textbf{\color{#35bf28}+10.80\%}$
test_compile_assign_and_add[tensordict-eager] 3.5985ms 3.3738ms 296.3999 Ops/s 291.1351 Ops/s $\color{#35bf28}+1.81\%$
test_compile_assign_and_add[pytree-compile] 1.9420ms 0.1949ms 5.1307 KOps/s 5.0478 KOps/s $\color{#35bf28}+1.64\%$
test_compile_assign_and_add[pytree-eager] 3.0873ms 2.8670ms 348.7969 Ops/s 354.3401 Ops/s $\color{#d91a1a}-1.56\%$
test_compile_indexing[tensor-tensordict-compile] 0.3662ms 0.1559ms 6.4163 KOps/s 6.2916 KOps/s $\color{#35bf28}+1.98\%$
test_compile_indexing[tensor-tensordict-eager] 0.4082ms 76.3088μs 13.1047 KOps/s 12.7646 KOps/s $\color{#35bf28}+2.66\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2759ms 0.1351ms 7.4033 KOps/s 7.4976 KOps/s $\color{#d91a1a}-1.26\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2320s 58.4547μs 17.1073 KOps/s 22.3020 KOps/s $\textbf{\color{#d91a1a}-23.29\%}$
test_compile_indexing[tensor-pytree-compile] 0.2322ms 0.1365ms 7.3256 KOps/s 7.3524 KOps/s $\color{#d91a1a}-0.36\%$
test_compile_indexing[tensor-pytree-eager] 0.2768ms 44.9365μs 22.2536 KOps/s 21.8646 KOps/s $\color{#35bf28}+1.78\%$
test_compile_indexing[slice-tensordict-compile] 0.1979ms 92.0286μs 10.8662 KOps/s 11.0520 KOps/s $\color{#d91a1a}-1.68\%$
test_compile_indexing[slice-tensordict-eager] 0.2302ms 27.8014μs 35.9694 KOps/s 36.4528 KOps/s $\color{#d91a1a}-1.33\%$
test_compile_indexing[slice-tensorclass-compile] 0.2148ms 71.9594μs 13.8967 KOps/s 14.2061 KOps/s $\color{#d91a1a}-2.18\%$
test_compile_indexing[slice-tensorclass-eager] 0.2600ms 22.2828μs 44.8777 KOps/s 45.1997 KOps/s $\color{#d91a1a}-0.71\%$
test_compile_indexing[slice-pytree-compile] 0.1738ms 72.1430μs 13.8614 KOps/s 14.0560 KOps/s $\color{#d91a1a}-1.38\%$
test_compile_indexing[slice-pytree-eager] 0.2802ms 21.9453μs 45.5678 KOps/s 45.7934 KOps/s $\color{#d91a1a}-0.49\%$
test_compile_indexing[int-tensordict-compile] 0.2149ms 89.3386μs 11.1934 KOps/s 11.0529 KOps/s $\color{#35bf28}+1.27\%$
test_compile_indexing[int-tensordict-eager] 0.2855ms 28.0216μs 35.6867 KOps/s 36.5831 KOps/s $\color{#d91a1a}-2.45\%$
test_compile_indexing[int-tensorclass-compile] 0.2410ms 72.5732μs 13.7792 KOps/s 14.0665 KOps/s $\color{#d91a1a}-2.04\%$
test_compile_indexing[int-tensorclass-eager] 0.2730ms 22.2368μs 44.9705 KOps/s 45.7098 KOps/s $\color{#d91a1a}-1.62\%$
test_compile_indexing[int-pytree-compile] 0.1127ms 71.5045μs 13.9851 KOps/s 13.8900 KOps/s $\color{#35bf28}+0.68\%$
test_compile_indexing[int-pytree-eager] 0.2688ms 22.1151μs 45.2180 KOps/s 46.5294 KOps/s $\color{#d91a1a}-2.82\%$
test_compile_replace[single-eager] 0.2186ms 48.0136μs 20.8274 KOps/s 20.1356 KOps/s $\color{#35bf28}+3.44\%$
test_compile_replace[single-compile] 0.3248ms 0.1453ms 6.8824 KOps/s 6.6929 KOps/s $\color{#35bf28}+2.83\%$
test_compile_replace[multi-eager] 0.6588ms 0.5782ms 1.7296 KOps/s 1.7660 KOps/s $\color{#d91a1a}-2.06\%$
test_compile_replace[multi-compile] 0.2888ms 0.1566ms 6.3847 KOps/s 6.2603 KOps/s $\color{#35bf28}+1.99\%$
test_compile_tc_getattr_20[eager] 0.3696ms 0.1796ms 5.5665 KOps/s 5.7263 KOps/s $\color{#d91a1a}-2.79\%$
test_compile_tc_getattr_20[compile] 0.4296ms 0.1750ms 5.7128 KOps/s 5.4789 KOps/s $\color{#35bf28}+4.27\%$
test_compile_clone_shallow[20-eager] 47.6800μs 19.1440μs 52.2358 KOps/s 53.7359 KOps/s $\color{#d91a1a}-2.79\%$
test_compile_clone_shallow[20-compile] 88.0810μs 23.1459μs 43.2043 KOps/s 42.9670 KOps/s $\color{#35bf28}+0.55\%$
test_compile_clone_shallow[40-eager] 64.8200μs 33.7894μs 29.5951 KOps/s 29.9847 KOps/s $\color{#d91a1a}-1.30\%$
test_compile_clone_shallow[40-compile] 0.1882ms 25.1371μs 39.7818 KOps/s 39.9955 KOps/s $\color{#d91a1a}-0.53\%$
test_compile_clone_shallow[80-eager] 0.1135ms 62.2135μs 16.0737 KOps/s 16.0701 KOps/s $\color{#35bf28}+0.02\%$
test_compile_clone_shallow[80-compile] 81.3710μs 28.7917μs 34.7323 KOps/s 34.8085 KOps/s $\color{#d91a1a}-0.22\%$
test_compile_update_inplace[eager] 0.2410ms 62.5383μs 15.9902 KOps/s 16.0082 KOps/s $\color{#d91a1a}-0.11\%$
test_compile_update_inplace[compile] 0.1881ms 0.1205ms 8.3003 KOps/s 8.1225 KOps/s $\color{#35bf28}+2.19\%$
test_mod_add[eager] 0.3899ms 0.2274ms 4.3975 KOps/s 4.4151 KOps/s $\color{#d91a1a}-0.40\%$
test_mod_add[compile] 0.6369ms 0.1220ms 8.1934 KOps/s 8.0514 KOps/s $\color{#35bf28}+1.76\%$
test_mod_add[compile-overhead] 0.2798ms 0.1947ms 5.1352 KOps/s 5.0351 KOps/s $\color{#35bf28}+1.99\%$
test_mod_wrap[eager] 0.6431ms 0.4694ms 2.1303 KOps/s 2.1158 KOps/s $\color{#35bf28}+0.69\%$
test_mod_wrap[compile] 0.4740ms 0.3473ms 2.8797 KOps/s 2.8721 KOps/s $\color{#35bf28}+0.26\%$
test_mod_wrap[compile-overhead] 7.1248ms 3.9937ms 250.3958 Ops/s 249.1468 Ops/s $\color{#35bf28}+0.50\%$
test_mod_wrap_and_backward[eager] 1.8245ms 1.6422ms 608.9405 Ops/s 592.1142 Ops/s $\color{#35bf28}+2.84\%$
test_mod_wrap_and_backward[compile] 1.5501ms 1.3244ms 755.0772 Ops/s 734.8051 Ops/s $\color{#35bf28}+2.76\%$
test_mod_wrap_and_backward[compile-overhead] 1.5701ms 0.9358ms 1.0687 KOps/s 1.0551 KOps/s $\color{#35bf28}+1.28\%$
test_seq_add[eager] 0.6820ms 0.5114ms 1.9556 KOps/s 1.9621 KOps/s $\color{#d91a1a}-0.33\%$
test_seq_add[compile] 0.2942ms 0.1325ms 7.5449 KOps/s 7.4229 KOps/s $\color{#35bf28}+1.64\%$
test_seq_add[compile-overhead] 0.3293ms 0.2036ms 4.9105 KOps/s 4.7943 KOps/s $\color{#35bf28}+2.42\%$
test_seq_wrap[eager] 1.4936ms 1.4089ms 709.7592 Ops/s 705.1525 Ops/s $\color{#35bf28}+0.65\%$
test_seq_wrap[compile] 0.4403ms 0.3596ms 2.7809 KOps/s 2.7018 KOps/s $\color{#35bf28}+2.93\%$
test_seq_wrap[compile-overhead] 0.4973ms 0.3211ms 3.1143 KOps/s 2.9355 KOps/s $\textbf{\color{#35bf28}+6.09\%}$
test_func_call_runtime[False-eager] 0.9429ms 0.8002ms 1.2496 KOps/s 1.1739 KOps/s $\textbf{\color{#35bf28}+6.45\%}$
test_func_call_runtime[False-compile] 0.9067ms 0.7612ms 1.3136 KOps/s 1.3226 KOps/s $\color{#d91a1a}-0.67\%$
test_func_call_runtime[False-compile-overhead] 0.6687ms 0.5074ms 1.9709 KOps/s 1.9616 KOps/s $\color{#35bf28}+0.48\%$
test_func_call_runtime[True-eager] 1.1126ms 1.0534ms 949.3471 Ops/s 951.1328 Ops/s $\color{#d91a1a}-0.19\%$
test_func_call_runtime[True-compile] 0.8504ms 0.7777ms 1.2859 KOps/s 1.3004 KOps/s $\color{#d91a1a}-1.12\%$
test_func_call_runtime[True-compile-overhead] 0.6972ms 0.5260ms 1.9012 KOps/s 1.8454 KOps/s $\color{#35bf28}+3.03\%$
test_func_call_cm_runtime[False-eager] 0.8553ms 0.7991ms 1.2515 KOps/s 1.1914 KOps/s $\textbf{\color{#35bf28}+5.04\%}$
test_func_call_cm_runtime[False-compile] 0.8853ms 0.7448ms 1.3426 KOps/s 1.3466 KOps/s $\color{#d91a1a}-0.30\%$
test_func_call_cm_runtime[False-compile-overhead] 0.5674ms 0.4875ms 2.0511 KOps/s 2.0349 KOps/s $\color{#35bf28}+0.80\%$
test_func_call_cm_runtime[True-eager] 1.3078ms 1.1960ms 836.1429 Ops/s 832.2615 Ops/s $\color{#35bf28}+0.47\%$
test_func_call_cm_runtime[True-compile] 0.9164ms 0.8573ms 1.1664 KOps/s 1.1707 KOps/s $\color{#d91a1a}-0.37\%$
test_func_call_cm_runtime[True-compile-overhead] 1.2090ms 0.8781ms 1.1388 KOps/s 1.1298 KOps/s $\color{#35bf28}+0.80\%$
test_vmap_func_call_cm_runtime[eager] 3.1270ms 2.6359ms 379.3749 Ops/s 364.4256 Ops/s $\color{#35bf28}+4.10\%$
test_vmap_func_call_cm_runtime[compile] 4.0889ms 3.6222ms 276.0788 Ops/s 274.1436 Ops/s $\color{#35bf28}+0.71\%$
test_vmap_func_call_cm_runtime[compile-overhead] 4.0806ms 3.6242ms 275.9197 Ops/s 274.8798 Ops/s $\color{#35bf28}+0.38\%$
test_distributed 0.4728ms 0.1445ms 6.9190 KOps/s 6.9438 KOps/s $\color{#d91a1a}-0.36\%$
test_tdmodule 0.4809ms 0.1931ms 5.1780 KOps/s 5.1658 KOps/s $\color{#35bf28}+0.24\%$
test_tdmodule_dispatch 0.4179ms 0.3726ms 2.6839 KOps/s 2.6645 KOps/s $\color{#35bf28}+0.73\%$
test_tdseq 52.0100μs 26.1260μs 38.2761 KOps/s 38.0775 KOps/s $\color{#35bf28}+0.52\%$
test_tdseq_dispatch 0.2666ms 0.2165ms 4.6196 KOps/s 4.5815 KOps/s $\color{#35bf28}+0.83\%$
test_instantiation_functorch 2.1367ms 2.0375ms 490.7906 Ops/s 495.7012 Ops/s $\color{#d91a1a}-0.99\%$
test_exec_functorch 0.2327ms 0.1741ms 5.7448 KOps/s 5.8432 KOps/s $\color{#d91a1a}-1.68\%$
test_exec_functional_call 0.4729ms 0.1532ms 6.5286 KOps/s 6.6400 KOps/s $\color{#d91a1a}-1.68\%$
test_exec_td_decorator 0.5072ms 0.2395ms 4.1747 KOps/s 4.2064 KOps/s $\color{#d91a1a}-0.75\%$
test_vmap_mlp_speed_decorator[True-True] 1.3231ms 1.1112ms 899.9291 Ops/s 896.8809 Ops/s $\color{#35bf28}+0.34\%$
test_vmap_mlp_speed_decorator[True-False] 1.3936ms 1.1066ms 903.6947 Ops/s 883.6515 Ops/s $\color{#35bf28}+2.27\%$
test_vmap_mlp_speed_decorator[False-True] 1.0247ms 0.8091ms 1.2360 KOps/s 1.1824 KOps/s $\color{#35bf28}+4.53\%$
test_vmap_mlp_speed_decorator[False-False] 1.0046ms 0.8084ms 1.2370 KOps/s 1.1860 KOps/s $\color{#35bf28}+4.30\%$
test_vmap_transformer_speed_decorator[True-True] 27.1769ms 24.7346ms 40.4292 Ops/s 39.0378 Ops/s $\color{#35bf28}+3.56\%$
test_vmap_transformer_speed_decorator[True-False] 24.8276ms 24.6018ms 40.6475 Ops/s 39.2116 Ops/s $\color{#35bf28}+3.66\%$
test_vmap_transformer_speed_decorator[False-True] 24.5297ms 24.2465ms 41.2430 Ops/s 39.8632 Ops/s $\color{#35bf28}+3.46\%$
test_vmap_transformer_speed_decorator[False-False] 24.3857ms 24.1886ms 41.3417 Ops/s 39.9423 Ops/s $\color{#35bf28}+3.50\%$
test_to_module_speed[True] 1.7472ms 1.6364ms 611.1100 Ops/s 606.1134 Ops/s $\color{#35bf28}+0.82\%$
test_to_module_speed[False] 1.6884ms 1.6132ms 619.8948 Ops/s 620.8026 Ops/s $\color{#d91a1a}-0.15\%$
test_to_module_plain_tensor_speed[None] 2.6092ms 1.7260ms 579.3717 Ops/s 579.2191 Ops/s $\color{#35bf28}+0.03\%$
test_to_module_plain_tensor_speed[False] 2.2897ms 1.5547ms 643.2250 Ops/s 643.4279 Ops/s $\color{#d91a1a}-0.03\%$
test_to_module_plain_tensor_speed[True] 3.4374ms 3.3327ms 300.0554 Ops/s 295.7917 Ops/s $\color{#35bf28}+1.44\%$
test_tc_init 77.9610μs 43.6764μs 22.8957 KOps/s 22.7733 KOps/s $\color{#35bf28}+0.54\%$
test_tc_init_tensor_only 44.9400μs 9.5226μs 105.0128 KOps/s 106.0813 KOps/s $\color{#d91a1a}-1.01\%$
test_tc_init_nested 0.1219ms 86.3384μs 11.5823 KOps/s 11.4595 KOps/s $\color{#35bf28}+1.07\%$
test_tc_init_many_fields 85.9910μs 17.0882μs 58.5201 KOps/s 57.2054 KOps/s $\color{#35bf28}+2.30\%$
test_tc_first_layer_tensor 17.9400μs 1.7720μs 564.3383 KOps/s 558.3251 KOps/s $\color{#35bf28}+1.08\%$
test_tc_first_layer_tensor_only 1.7470μs 0.3999μs 2.5004 MOps/s 2.4327 MOps/s $\color{#35bf28}+2.78\%$
test_tc_first_layer_tensor_set 36.3700μs 4.2157μs 237.2072 KOps/s 233.9673 KOps/s $\color{#35bf28}+1.38\%$
test_tc_first_layer_tensor_only_set 37.0000μs 3.4645μs 288.6441 KOps/s 279.2516 KOps/s $\color{#35bf28}+3.36\%$
test_tc_first_layer_nontensor 27.2300μs 6.0920μs 164.1503 KOps/s 163.3643 KOps/s $\color{#35bf28}+0.48\%$
test_tc_second_layer_tensor 35.1110μs 4.2978μs 232.6777 KOps/s 229.1058 KOps/s $\color{#35bf28}+1.56\%$
test_tc_second_layer_nontensor 46.3000μs 8.6351μs 115.8069 KOps/s 114.5294 KOps/s $\color{#35bf28}+1.12\%$
test_unbind 0.2934s 13.7834ms 72.5508 Ops/s 74.0032 Ops/s $\color{#d91a1a}-1.96\%$
test_full_like 4.8437ms 4.4156ms 226.4716 Ops/s 225.0772 Ops/s $\color{#35bf28}+0.62\%$
test_zeros_like 4.6064ms 4.4165ms 226.4239 Ops/s 226.6414 Ops/s $\color{#d91a1a}-0.10\%$
test_ones_like 4.6814ms 4.4394ms 225.2569 Ops/s 226.6945 Ops/s $\color{#d91a1a}-0.63\%$
test_clone 6.8646ms 6.6416ms 150.5669 Ops/s 150.5293 Ops/s $\color{#35bf28}+0.03\%$
test_squeeze 67.2900μs 13.8953μs 71.9667 KOps/s 72.1334 KOps/s $\color{#d91a1a}-0.23\%$
test_unsqueeze 0.1708ms 0.1112ms 8.9913 KOps/s 9.2684 KOps/s $\color{#d91a1a}-2.99\%$
test_split 0.2567ms 0.1869ms 5.3503 KOps/s 5.3523 KOps/s $\color{#d91a1a}-0.04\%$
test_permute 0.3007ms 0.1970ms 5.0772 KOps/s 5.2621 KOps/s $\color{#d91a1a}-3.51\%$
test_stack 19.2207ms 18.5040ms 54.0422 Ops/s 53.8687 Ops/s $\color{#35bf28}+0.32\%$
test_cat 19.0422ms 18.5802ms 53.8207 Ops/s 53.8714 Ops/s $\color{#d91a1a}-0.09\%$
test_sequential_tensordict 0.8590ms 0.5625ms 1.7777 KOps/s 1.7278 KOps/s $\color{#35bf28}+2.89\%$
test_sequential_graph_module 0.2803ms 0.1111ms 9.0005 KOps/s 8.4731 KOps/s $\textbf{\color{#35bf28}+6.22\%}$
test_nested_tensordict 0.9205ms 0.8058ms 1.2410 KOps/s 1.1982 KOps/s $\color{#35bf28}+3.57\%$
test_nested_graph_module 0.2318ms 0.1215ms 8.2307 KOps/s 8.0437 KOps/s $\color{#35bf28}+2.32\%$

@vmoens
vmoens merged commit 0702275 into main Jul 9, 2026
71 of 73 checks passed
@vmoens
vmoens deleted the claude/wizardly-driscoll-116e33 branch July 9, 2026 17:23
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. Distributed tensorclass Test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant