Skip to content

[BugFix] Propagate create-dataset kwargs to nested PersistentTensorDicts - #1759

Merged
vmoens merged 1 commit into
mainfrom
fix-persistent-nested-kwargs
Aug 5, 2026
Merged

[BugFix] Propagate create-dataset kwargs to nested PersistentTensorDicts#1759
vmoens merged 1 commit into
mainfrom
fix-persistent-nested-kwargs

Conversation

@vmoens

@vmoens vmoens commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1758.

What was broken

to_zarr(path, chunks=..., compressors=...) (and to_h5(path, compression=...)) only applied the create-dataset kwargs to top-level leaves. PersistentTensorDict keeps those kwargs on the root instance (self.kwargs), but nested PersistentTensorDicts were constructed without them, so every leaf under a nested key was silently written with the backend's default layout — for zarr, one uncompressed chunk spanning the whole array. The h5 backend had the same structure and the same bug.

Fix

Propagate **self.kwargs at the three sites that construct child/derived PersistentTensorDicts:

  • _make_nested — the write/read path for nested groups (the case reported in the issue);
  • _set_metadata — nested instances rebuilt during recursive clone();
  • the non-recursive branch of _clone — so a shallow clone keeps writing with the same layout as the original (_clone(recurse=True) already used self.kwargs via copy_dataset).

Tests

  • test/memmap/test_zarr.py::test_kwargs_passthrough_nested: doubly-nested leaves get the requested chunks and compressors, and the store round-trips.
  • test/memmap/test_h5.py::test_kwargs_passthrough_nested: same for h5 compression/compression_opts.

Both fail on main and pass with this change; full test/memmap suite (631 tests) and the td_h5 parametrizations of test/tensordict/test_methods.py pass locally.

🤖 Generated with Claude Code

PersistentTensorDict stores the create-dataset kwargs (chunks/compressors
for zarr, compression/... for h5) on the root instance, but nested
PersistentTensorDicts were constructed without them, so every leaf under
a nested key was silently written with the default layout. Propagate
self.kwargs in _make_nested, _set_metadata and the non-recursive _clone.

Fixes #1758

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 Aug 5, 2026
@github-actions github-actions Bot added Test persistent PersistentTensorDict / HDF5 bug Something isn't working labels Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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

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

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2501ms 0.1685ms 5.9343 KOps/s 5.8377 KOps/s $\color{#35bf28}+1.66\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.4055ms 0.2985ms 3.3505 KOps/s 3.3660 KOps/s $\color{#d91a1a}-0.46\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.9007ms 0.7835ms 1.2763 KOps/s 1.2692 KOps/s $\color{#35bf28}+0.56\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.3822ms 0.3429ms 2.9161 KOps/s 2.8485 KOps/s $\color{#35bf28}+2.37\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.2977ms 1.1071ms 903.2872 Ops/s 897.5971 Ops/s $\color{#35bf28}+0.63\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.7515ms 7.4500ms 134.2281 Ops/s 132.7727 Ops/s $\color{#35bf28}+1.10\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.2983ms 0.2540ms 3.9365 KOps/s 3.8789 KOps/s $\color{#35bf28}+1.48\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.5291ms 0.3758ms 2.6613 KOps/s 2.5630 KOps/s $\color{#35bf28}+3.84\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9241ms 0.8349ms 1.1978 KOps/s 1.2090 KOps/s $\color{#d91a1a}-0.93\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3372ms 0.2522ms 3.9648 KOps/s 3.9706 KOps/s $\color{#d91a1a}-0.14\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.4606ms 0.3752ms 2.6654 KOps/s 2.6630 KOps/s $\color{#35bf28}+0.09\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 0.9680ms 0.8939ms 1.1187 KOps/s 1.1225 KOps/s $\color{#d91a1a}-0.34\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2879ms 0.2109ms 4.7406 KOps/s 4.7236 KOps/s $\color{#35bf28}+0.36\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.9293ms 0.8150ms 1.2270 KOps/s 1.2108 KOps/s $\color{#35bf28}+1.34\%$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.3346ms 3.2122ms 311.3094 Ops/s 305.4860 Ops/s $\color{#35bf28}+1.91\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.4386ms 0.3561ms 2.8082 KOps/s 2.6613 KOps/s $\textbf{\color{#35bf28}+5.52\%}$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 2.1637ms 1.6972ms 589.1999 Ops/s 595.5089 Ops/s $\color{#d91a1a}-1.06\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 12.1437ms 10.2560ms 97.5035 Ops/s 97.1585 Ops/s $\color{#35bf28}+0.36\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4510ms 0.3899ms 2.5649 KOps/s 2.5864 KOps/s $\color{#d91a1a}-0.83\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.5394ms 1.4504ms 689.4517 Ops/s 692.1878 Ops/s $\color{#d91a1a}-0.40\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 5.9583ms 5.7153ms 174.9696 Ops/s 176.4653 Ops/s $\color{#d91a1a}-0.85\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.5751ms 0.3861ms 2.5901 KOps/s 2.5746 KOps/s $\color{#35bf28}+0.60\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5579ms 1.4587ms 685.5281 Ops/s 689.9217 Ops/s $\color{#d91a1a}-0.64\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 5.8733ms 5.7328ms 174.4360 Ops/s 175.4096 Ops/s $\color{#d91a1a}-0.56\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2435ms 0.1705ms 5.8646 KOps/s 5.8468 KOps/s $\color{#35bf28}+0.30\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7493ms 0.6685ms 1.4959 KOps/s 1.5033 KOps/s $\color{#d91a1a}-0.49\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7197ms 2.6245ms 381.0315 Ops/s 379.6799 Ops/s $\color{#35bf28}+0.36\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.4445ms 0.3105ms 3.2203 KOps/s 3.1257 KOps/s $\color{#35bf28}+3.03\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.6726ms 1.4681ms 681.1577 Ops/s 692.9403 Ops/s $\color{#d91a1a}-1.70\%$
test_collector_preallocated_write[copy_at-cpu-4096-32] 9.9140ms 9.6295ms 103.8472 Ops/s 104.7651 Ops/s $\color{#d91a1a}-0.88\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.4295ms 0.3219ms 3.1067 KOps/s 3.0794 KOps/s $\color{#35bf28}+0.89\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.3816ms 1.2023ms 831.7623 Ops/s 832.8336 Ops/s $\color{#d91a1a}-0.13\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.8896ms 4.7039ms 212.5874 Ops/s 212.2034 Ops/s $\color{#35bf28}+0.18\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.4660ms 0.3235ms 3.0917 KOps/s 3.0793 KOps/s $\color{#35bf28}+0.40\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.3744ms 1.2066ms 828.7469 Ops/s 824.3247 Ops/s $\color{#35bf28}+0.54\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.8953ms 4.7473ms 210.6449 Ops/s 210.7527 Ops/s $\color{#d91a1a}-0.05\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1845ms 0.1201ms 8.3277 KOps/s 8.3811 KOps/s $\color{#d91a1a}-0.64\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5544ms 0.4745ms 2.1075 KOps/s 2.1281 KOps/s $\color{#d91a1a}-0.97\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.9708ms 1.8696ms 534.8709 Ops/s 528.4881 Ops/s $\color{#35bf28}+1.21\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3379ms 0.2550ms 3.9212 KOps/s 3.7725 KOps/s $\color{#35bf28}+3.94\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.4711ms 1.2534ms 797.8431 Ops/s 790.5596 Ops/s $\color{#35bf28}+0.92\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 9.2831ms 8.8291ms 113.2624 Ops/s 115.6289 Ops/s $\color{#d91a1a}-2.05\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3768ms 0.2950ms 3.3897 KOps/s 3.6379 KOps/s $\textbf{\color{#d91a1a}-6.82\%}$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.2009ms 1.0930ms 914.9083 Ops/s 978.3283 Ops/s $\textbf{\color{#d91a1a}-6.48\%}$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.3556ms 4.2272ms 236.5631 Ops/s 250.4013 Ops/s $\textbf{\color{#d91a1a}-5.53\%}$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.4216ms 0.2782ms 3.5951 KOps/s 3.6378 KOps/s $\color{#d91a1a}-1.17\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.4071ms 1.0420ms 959.6889 Ops/s 973.0833 Ops/s $\color{#d91a1a}-1.38\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.3064ms 4.0877ms 244.6350 Ops/s 249.1872 Ops/s $\color{#d91a1a}-1.83\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 16.9422ms 16.4437ms 60.8134 Ops/s 61.1750 Ops/s $\color{#d91a1a}-0.59\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.3683ms 32.9997ms 30.3033 Ops/s 30.4809 Ops/s $\color{#d91a1a}-0.58\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 85.2694ms 84.1511ms 11.8834 Ops/s 11.8661 Ops/s $\color{#35bf28}+0.15\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.2008s 0.1985s 5.0375 Ops/s 5.0429 Ops/s $\color{#d91a1a}-0.11\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 14.1046ms 13.9376ms 71.7482 Ops/s 72.1529 Ops/s $\color{#d91a1a}-0.56\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.3055ms 27.1479ms 36.8353 Ops/s 36.9731 Ops/s $\color{#d91a1a}-0.37\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.2413ms 14.0791ms 71.0273 Ops/s 71.2604 Ops/s $\color{#d91a1a}-0.33\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 27.8473ms 27.4996ms 36.3642 Ops/s 36.6954 Ops/s $\color{#d91a1a}-0.90\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 51.6536ms 51.2401ms 19.5160 Ops/s 19.6530 Ops/s $\color{#d91a1a}-0.70\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1032s 0.1026s 9.7458 Ops/s 9.7638 Ops/s $\color{#d91a1a}-0.18\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1459s 0.1448s 6.9041 Ops/s 6.7621 Ops/s $\color{#35bf28}+2.10\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3187s 0.3174s 3.1509 Ops/s 3.0473 Ops/s $\color{#35bf28}+3.40\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 75.3388ms 74.1099ms 13.4935 Ops/s 13.8148 Ops/s $\color{#d91a1a}-2.33\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1533s 0.1496s 6.6830 Ops/s 6.8923 Ops/s $\color{#d91a1a}-3.04\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 75.9092ms 74.0748ms 13.4999 Ops/s 13.6367 Ops/s $\color{#d91a1a}-1.00\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1495s 0.1485s 6.7356 Ops/s 6.7906 Ops/s $\color{#d91a1a}-0.81\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.3162ms 30.1589ms 33.1577 Ops/s 33.0331 Ops/s $\color{#35bf28}+0.38\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.2272ms 61.0834ms 16.3711 Ops/s 16.3317 Ops/s $\color{#35bf28}+0.24\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1248s 0.1234s 8.1052 Ops/s 8.3205 Ops/s $\color{#d91a1a}-2.59\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2728s 0.2706s 3.6954 Ops/s 3.7299 Ops/s $\color{#d91a1a}-0.93\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 43.4806ms 43.3019ms 23.0937 Ops/s 23.1135 Ops/s $\color{#d91a1a}-0.09\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 86.9657ms 86.6239ms 11.5442 Ops/s 11.6062 Ops/s $\color{#d91a1a}-0.53\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 43.7228ms 43.5990ms 22.9363 Ops/s 23.0432 Ops/s $\color{#d91a1a}-0.46\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 87.6425ms 87.4347ms 11.4371 Ops/s 11.5021 Ops/s $\color{#d91a1a}-0.56\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.6637ms 20.3759ms 49.0775 Ops/s 48.7574 Ops/s $\color{#35bf28}+0.66\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 42.1471ms 41.7615ms 23.9455 Ops/s 24.0001 Ops/s $\color{#d91a1a}-0.23\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1111s 0.1098s 9.1054 Ops/s 9.2583 Ops/s $\color{#d91a1a}-1.65\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2459s 0.2444s 4.0924 Ops/s 4.0328 Ops/s $\color{#35bf28}+1.48\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 39.3262ms 37.9407ms 26.3569 Ops/s 27.2841 Ops/s $\color{#d91a1a}-3.40\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 77.8486ms 76.4710ms 13.0768 Ops/s 13.6234 Ops/s $\color{#d91a1a}-4.01\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 40.0727ms 38.7151ms 25.8297 Ops/s 27.3210 Ops/s $\textbf{\color{#d91a1a}-5.46\%}$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 78.5022ms 76.9156ms 13.0013 Ops/s 13.7414 Ops/s $\textbf{\color{#d91a1a}-5.39\%}$
test_plain_set_nested 46.4710μs 15.0482μs 66.4533 KOps/s 65.7219 KOps/s $\color{#35bf28}+1.11\%$
test_plain_set_stack_nested 60.2910μs 14.8649μs 67.2724 KOps/s 68.0809 KOps/s $\color{#d91a1a}-1.19\%$
test_plain_set_nested_inplace 54.3910μs 15.8616μs 63.0454 KOps/s 61.2452 KOps/s $\color{#35bf28}+2.94\%$
test_plain_set_stack_nested_inplace 69.8010μs 16.0807μs 62.1864 KOps/s 62.1180 KOps/s $\color{#35bf28}+0.11\%$
test_items 39.4910μs 6.0855μs 164.3240 KOps/s 162.7489 KOps/s $\color{#35bf28}+0.97\%$
test_items_nested 0.5924ms 0.4616ms 2.1664 KOps/s 2.1642 KOps/s $\color{#35bf28}+0.10\%$
test_items_nested_locked 0.5900ms 0.4575ms 2.1858 KOps/s 2.1459 KOps/s $\color{#35bf28}+1.86\%$
test_items_nested_leaf 0.1450ms 98.7782μs 10.1237 KOps/s 10.2541 KOps/s $\color{#d91a1a}-1.27\%$
test_items_stack_nested 0.5529ms 0.4578ms 2.1843 KOps/s 2.2085 KOps/s $\color{#d91a1a}-1.09\%$
test_items_stack_nested_leaf 0.1326ms 96.9269μs 10.3171 KOps/s 10.2494 KOps/s $\color{#35bf28}+0.66\%$
test_items_stack_nested_locked 0.5940ms 0.4575ms 2.1859 KOps/s 2.1778 KOps/s $\color{#35bf28}+0.37\%$
test_keys 32.6400μs 4.4749μs 223.4663 KOps/s 236.2821 KOps/s $\textbf{\color{#d91a1a}-5.42\%}$
test_keys_nested 0.1833ms 0.1292ms 7.7400 KOps/s 7.7794 KOps/s $\color{#d91a1a}-0.51\%$
test_keys_nested_locked 2.1036ms 0.1384ms 7.2238 KOps/s 7.2586 KOps/s $\color{#d91a1a}-0.48\%$
test_keys_nested_leaf 0.1979ms 0.1202ms 8.3197 KOps/s 8.4597 KOps/s $\color{#d91a1a}-1.66\%$
test_keys_stack_nested 0.2481ms 0.1285ms 7.7809 KOps/s 7.7936 KOps/s $\color{#d91a1a}-0.16\%$
test_keys_stack_nested_leaf 0.1772ms 0.1197ms 8.3573 KOps/s 8.4638 KOps/s $\color{#d91a1a}-1.26\%$
test_keys_stack_nested_locked 0.1910ms 0.1360ms 7.3553 KOps/s 7.3600 KOps/s $\color{#d91a1a}-0.06\%$
test_values 4.4261μs 0.9881μs 1.0121 MOps/s 935.2010 KOps/s $\textbf{\color{#35bf28}+8.22\%}$
test_values_nested 0.1173ms 52.7051μs 18.9735 KOps/s 19.2555 KOps/s $\color{#d91a1a}-1.46\%$
test_values_nested_locked 0.1102ms 55.6425μs 17.9719 KOps/s 18.0849 KOps/s $\color{#d91a1a}-0.62\%$
test_values_nested_leaf 0.1383ms 59.6542μs 16.7633 KOps/s 16.7799 KOps/s $\color{#d91a1a}-0.10\%$
test_values_stack_nested 0.1044ms 52.4771μs 19.0559 KOps/s 19.1914 KOps/s $\color{#d91a1a}-0.71\%$
test_values_stack_nested_leaf 0.1085ms 59.7513μs 16.7360 KOps/s 16.7438 KOps/s $\color{#d91a1a}-0.05\%$
test_values_stack_nested_locked 0.1208ms 55.3439μs 18.0688 KOps/s 18.1489 KOps/s $\color{#d91a1a}-0.44\%$
test_membership 9.9870μs 0.8453μs 1.1830 MOps/s 1.1972 MOps/s $\color{#d91a1a}-1.19\%$
test_membership_nested 57.6810μs 2.9846μs 335.0514 KOps/s 344.1811 KOps/s $\color{#d91a1a}-2.65\%$
test_membership_nested_leaf 40.2060μs 2.8754μs 347.7799 KOps/s 371.0902 KOps/s $\textbf{\color{#d91a1a}-6.28\%}$
test_membership_stacked_nested 35.6900μs 2.8641μs 349.1517 KOps/s 351.5767 KOps/s $\color{#d91a1a}-0.69\%$
test_membership_stacked_nested_leaf 32.5110μs 2.8760μs 347.7013 KOps/s 354.0321 KOps/s $\color{#d91a1a}-1.79\%$
test_membership_nested_last 60.1610μs 4.5188μs 221.2977 KOps/s 224.2172 KOps/s $\color{#d91a1a}-1.30\%$
test_membership_nested_leaf_last 36.8210μs 4.5119μs 221.6386 KOps/s 225.2181 KOps/s $\color{#d91a1a}-1.59\%$
test_membership_stacked_nested_last 52.3810μs 4.3364μs 230.6047 KOps/s 237.8288 KOps/s $\color{#d91a1a}-3.04\%$
test_membership_stacked_nested_leaf_last 29.6300μs 4.3172μs 231.6303 KOps/s 234.1715 KOps/s $\color{#d91a1a}-1.09\%$
test_nested_getleaf 83.7020μs 21.5512μs 46.4010 KOps/s 46.0281 KOps/s $\color{#35bf28}+0.81\%$
test_nested_get 75.2610μs 20.3568μs 49.1236 KOps/s 49.6206 KOps/s $\color{#d91a1a}-1.00\%$
test_stacked_getleaf 80.9820μs 21.1187μs 47.3515 KOps/s 47.8500 KOps/s $\color{#d91a1a}-1.04\%$
test_stacked_get 80.4520μs 19.8270μs 50.4361 KOps/s 49.9447 KOps/s $\color{#35bf28}+0.98\%$
test_nested_getitemleaf 69.7210μs 21.5918μs 46.3139 KOps/s 45.2734 KOps/s $\color{#35bf28}+2.30\%$
test_nested_getitem 80.1710μs 20.8415μs 47.9812 KOps/s 48.4458 KOps/s $\color{#d91a1a}-0.96\%$
test_stacked_getitemleaf 85.4810μs 21.5168μs 46.4754 KOps/s 46.3327 KOps/s $\color{#35bf28}+0.31\%$
test_stacked_getitem 54.9600μs 20.3986μs 49.0229 KOps/s 48.5221 KOps/s $\color{#35bf28}+1.03\%$
test_lock_nested 2.7801ms 0.5053ms 1.9789 KOps/s 1.9817 KOps/s $\color{#d91a1a}-0.14\%$
test_lock_stack_nested 0.6121ms 0.5081ms 1.9682 KOps/s 1.9702 KOps/s $\color{#d91a1a}-0.10\%$
test_unlock_nested 0.4712ms 0.3984ms 2.5097 KOps/s 2.5192 KOps/s $\color{#d91a1a}-0.37\%$
test_unlock_stack_nested 0.5002ms 0.4002ms 2.4990 KOps/s 2.5024 KOps/s $\color{#d91a1a}-0.13\%$
test_flatten_speed 0.1790ms 0.1229ms 8.1345 KOps/s 8.0727 KOps/s $\color{#35bf28}+0.77\%$
test_unflatten_speed 0.6432ms 0.5672ms 1.7630 KOps/s 1.7768 KOps/s $\color{#d91a1a}-0.78\%$
test_common_ops 0.8752ms 0.7040ms 1.4205 KOps/s 1.4234 KOps/s $\color{#d91a1a}-0.21\%$
test_creation 93.9920μs 3.1418μs 318.2864 KOps/s 313.3635 KOps/s $\color{#35bf28}+1.57\%$
test_creation_empty 41.2310μs 6.9561μs 143.7588 KOps/s 141.6343 KOps/s $\color{#35bf28}+1.50\%$
test_creation_nested_1 94.7520μs 11.4902μs 87.0311 KOps/s 86.1639 KOps/s $\color{#35bf28}+1.01\%$
test_creation_nested_2 41.2110μs 13.4344μs 74.4357 KOps/s 73.6615 KOps/s $\color{#35bf28}+1.05\%$
test_creation_many_keys[10] 82.1820μs 21.1190μs 47.3507 KOps/s 47.3634 KOps/s $\color{#d91a1a}-0.03\%$
test_creation_many_keys[50] 0.1676ms 89.3685μs 11.1896 KOps/s 11.0161 KOps/s $\color{#35bf28}+1.57\%$
test_creation_many_keys[100] 0.2466ms 0.1780ms 5.6192 KOps/s 5.6002 KOps/s $\color{#35bf28}+0.34\%$
test_creation_nested_many_keys[10] 87.5910μs 45.1283μs 22.1591 KOps/s 21.8811 KOps/s $\color{#35bf28}+1.27\%$
test_creation_nested_many_keys[50] 0.2540ms 0.1857ms 5.3841 KOps/s 5.4287 KOps/s $\color{#d91a1a}-0.82\%$
test_clone 0.2952ms 12.9745μs 77.0742 KOps/s 75.7530 KOps/s $\color{#35bf28}+1.74\%$
test_getitem[int] 1.6106ms 15.2809μs 65.4414 KOps/s 65.4877 KOps/s $\color{#d91a1a}-0.07\%$
test_getitem[slice_int] 0.1453ms 24.5642μs 40.7096 KOps/s 40.6251 KOps/s $\color{#35bf28}+0.21\%$
test_getitem[range] 0.1611ms 62.3007μs 16.0512 KOps/s 16.1105 KOps/s $\color{#d91a1a}-0.37\%$
test_getitem[tuple] 0.2135ms 24.3037μs 41.1460 KOps/s 41.0321 KOps/s $\color{#35bf28}+0.28\%$
test_getitem[list] 0.2192ms 58.0486μs 17.2269 KOps/s 17.3625 KOps/s $\color{#d91a1a}-0.78\%$
test_setitem_dim[int] 46.1410μs 25.4936μs 39.2255 KOps/s 39.6078 KOps/s $\color{#d91a1a}-0.97\%$
test_setitem_dim[slice_int] 73.4010μs 41.4392μs 24.1318 KOps/s 23.9771 KOps/s $\color{#35bf28}+0.64\%$
test_setitem_dim[range] 0.1339ms 92.7123μs 10.7861 KOps/s 10.6717 KOps/s $\color{#35bf28}+1.07\%$
test_setitem_dim[tuple] 70.2820μs 38.9471μs 25.6758 KOps/s 25.1054 KOps/s $\color{#35bf28}+2.27\%$
test_setitem 0.3348ms 17.3616μs 57.5983 KOps/s 57.1882 KOps/s $\color{#35bf28}+0.72\%$
test_set 87.9420μs 16.5173μs 60.5425 KOps/s 59.2449 KOps/s $\color{#35bf28}+2.19\%$
test_set_shared 0.5734ms 0.2078ms 4.8126 KOps/s 4.6585 KOps/s $\color{#35bf28}+3.31\%$
test_update 0.3599ms 21.3872μs 46.7570 KOps/s 46.7316 KOps/s $\color{#35bf28}+0.05\%$
test_update_nested 0.3008ms 33.4379μs 29.9062 KOps/s 29.8592 KOps/s $\color{#35bf28}+0.16\%$
test_update__nested 0.5090ms 33.1956μs 30.1245 KOps/s 29.7883 KOps/s $\color{#35bf28}+1.13\%$
test_set_nested 0.2880ms 18.4778μs 54.1189 KOps/s 53.6997 KOps/s $\color{#35bf28}+0.78\%$
test_set_nested_new 80.1620μs 23.0462μs 43.3911 KOps/s 42.4786 KOps/s $\color{#35bf28}+2.15\%$
test_select 0.1233ms 40.1560μs 24.9029 KOps/s 25.8278 KOps/s $\color{#d91a1a}-3.58\%$
test_select_nested 0.1184ms 73.4295μs 13.6185 KOps/s 13.5967 KOps/s $\color{#35bf28}+0.16\%$
test_exclude_nested 0.1534ms 90.4612μs 11.0545 KOps/s 11.1536 KOps/s $\color{#d91a1a}-0.89\%$
test_empty[True] 0.4991ms 0.3927ms 2.5467 KOps/s 2.5514 KOps/s $\color{#d91a1a}-0.18\%$
test_empty[False] 16.2730μs 1.3672μs 731.4288 KOps/s 734.0548 KOps/s $\color{#d91a1a}-0.36\%$
test_to 0.1426ms 71.7235μs 13.9424 KOps/s 14.1052 KOps/s $\color{#d91a1a}-1.15\%$
test_to_nonblocking 0.1475ms 70.7435μs 14.1356 KOps/s 14.2826 KOps/s $\color{#d91a1a}-1.03\%$
test_unbind_speed 0.4298ms 0.3354ms 2.9816 KOps/s 2.9617 KOps/s $\color{#35bf28}+0.67\%$
test_unbind_speed_stack0 0.4109ms 0.3309ms 3.0219 KOps/s 3.0130 KOps/s $\color{#35bf28}+0.29\%$
test_unbind_speed_stack1 0.1201s 1.0855ms 921.1930 Ops/s 1.1617 KOps/s $\textbf{\color{#d91a1a}-20.70\%}$
test_split 1.3975ms 1.2927ms 773.5843 Ops/s 778.3592 Ops/s $\color{#d91a1a}-0.61\%$
test_chunk 0.1211s 1.3976ms 715.5155 Ops/s 814.3318 Ops/s $\textbf{\color{#d91a1a}-12.13\%}$
test_to_cpu_blocking 20.3038ms 19.9893ms 50.0268 Ops/s 44.6323 Ops/s $\textbf{\color{#35bf28}+12.09\%}$
test_to_cpu_global_sync 11.9962ms 11.8484ms 84.3995 Ops/s 84.8096 Ops/s $\color{#d91a1a}-0.48\%$
test_to_cpu_event_sync 13.2379ms 12.8476ms 77.8356 Ops/s 78.5654 Ops/s $\color{#d91a1a}-0.93\%$
test_to_cpu_default 13.1989ms 12.8413ms 77.8738 Ops/s 78.5704 Ops/s $\color{#d91a1a}-0.89\%$
test_consolidate[False-None] 4.3251ms 4.2180ms 237.0783 Ops/s 237.9293 Ops/s $\color{#d91a1a}-0.36\%$
test_consolidate[default-None] 3.3646ms 2.2643ms 441.6313 Ops/s 437.6723 Ops/s $\color{#35bf28}+0.90\%$
test_consolidate[reduce-overhead-None] 3.2528ms 2.1662ms 461.6480 Ops/s 448.0022 Ops/s $\color{#35bf28}+3.05\%$
test_consolidate_njt[False-None] 5.9393ms 5.1700ms 193.4218 Ops/s 190.5578 Ops/s $\color{#35bf28}+1.50\%$
test_to[False-False-None] 2.3618ms 2.2354ms 447.3471 Ops/s 448.1010 Ops/s $\color{#d91a1a}-0.17\%$
test_to[True-False-None] 2.1547ms 2.0150ms 496.2796 Ops/s 500.9184 Ops/s $\color{#d91a1a}-0.93\%$
test_to[within-False-None] 6.6698ms 6.3455ms 157.5913 Ops/s 156.7452 Ops/s $\color{#35bf28}+0.54\%$
test_to[True-default-None] 10.6514ms 10.3560ms 96.5621 Ops/s 94.0404 Ops/s $\color{#35bf28}+2.68\%$
test_to_njt[False-False-None] 7.1442ms 7.0503ms 141.8376 Ops/s 140.9122 Ops/s $\color{#35bf28}+0.66\%$
test_to_njt[True-False-None] 4.1655ms 3.9693ms 251.9353 Ops/s 251.7147 Ops/s $\color{#35bf28}+0.09\%$
test_to_njt[within-False-None] 9.5470ms 9.1797ms 108.9360 Ops/s 106.9924 Ops/s $\color{#35bf28}+1.82\%$
test_creation[device0] 0.3551ms 0.1174ms 8.5155 KOps/s 8.4589 KOps/s $\color{#35bf28}+0.67\%$
test_creation_from_tensor 0.5168ms 0.1157ms 8.6465 KOps/s 8.4861 KOps/s $\color{#35bf28}+1.89\%$
test_add_one[memmap_tensor0] 0.1349ms 6.2159μs 160.8780 KOps/s 161.9530 KOps/s $\color{#d91a1a}-0.66\%$
test_contiguous[memmap_tensor0] 19.2100μs 0.6834μs 1.4634 MOps/s 2.0575 MOps/s $\textbf{\color{#d91a1a}-28.88\%}$
test_stack[memmap_tensor0] 0.1034ms 4.2127μs 237.3769 KOps/s 234.5377 KOps/s $\color{#35bf28}+1.21\%$
test_memmaptd_index 1.3585ms 0.2758ms 3.6257 KOps/s 3.6233 KOps/s $\color{#35bf28}+0.07\%$
test_memmaptd_index_astensor 0.5468ms 0.3798ms 2.6332 KOps/s 2.6583 KOps/s $\color{#d91a1a}-0.94\%$
test_memmaptd_index_op 0.8027ms 0.6310ms 1.5848 KOps/s 1.6032 KOps/s $\color{#d91a1a}-1.15\%$
test_serialize_model 0.1369s 0.1359s 7.3578 Ops/s 7.3391 Ops/s $\color{#35bf28}+0.26\%$
test_serialize_model_archive 1.3631s 1.2450s 0.8032 Ops/s 0.8027 Ops/s $\color{#35bf28}+0.07\%$
test_load_archive 18.7703ms 18.4131ms 54.3090 Ops/s 53.7773 Ops/s $\color{#35bf28}+0.99\%$
test_serialize_model_zarr 2.5101s 2.5045s 0.3993 Ops/s 0.3986 Ops/s $\color{#35bf28}+0.16\%$
test_load_zarr 0.4143s 0.3720s 2.6881 Ops/s 2.5587 Ops/s $\textbf{\color{#35bf28}+5.06\%}$
test_serialize_model_pickle 1.3508s 1.2103s 0.8263 Ops/s 0.6971 Ops/s $\textbf{\color{#35bf28}+18.52\%}$
test_serialize_weights 0.1385s 0.1364s 7.3301 Ops/s 7.3624 Ops/s $\color{#d91a1a}-0.44\%$
test_serialize_weights_returnearly 0.2562s 45.7085ms 21.8778 Ops/s 29.0435 Ops/s $\textbf{\color{#d91a1a}-24.67\%}$
test_serialize_weights_pickle 1.3712s 1.2137s 0.8240 Ops/s 0.7923 Ops/s $\color{#35bf28}+4.00\%$
test_consolidate[few_large-0] 67.7799ms 7.7560ms 128.9332 Ops/s 123.9901 Ops/s $\color{#35bf28}+3.99\%$
test_consolidate[few_large-8] 19.8858ms 5.9170ms 169.0058 Ops/s 114.5483 Ops/s $\textbf{\color{#35bf28}+47.54\%}$
test_consolidate[many_small-0] 0.1283s 0.1246s 8.0253 Ops/s 8.2605 Ops/s $\color{#d91a1a}-2.85\%$
test_consolidate[many_small-8] 0.2257s 48.6191ms 20.5681 Ops/s 21.9086 Ops/s $\textbf{\color{#d91a1a}-6.12\%}$
test_consolidate_to_file[few_large-0] 0.1305s 22.1651ms 45.1160 Ops/s 42.6345 Ops/s $\textbf{\color{#35bf28}+5.82\%}$
test_consolidate_to_file[few_large-8] 0.2026s 44.9855ms 22.2294 Ops/s 26.6991 Ops/s $\textbf{\color{#d91a1a}-16.74\%}$
test_consolidate_to_file[many_small-0] 0.8172s 0.6278s 1.5930 Ops/s 1.4669 Ops/s $\textbf{\color{#35bf28}+8.59\%}$
test_consolidate_to_file[many_small-8] 0.5804s 0.5431s 1.8414 Ops/s 1.4504 Ops/s $\textbf{\color{#35bf28}+26.95\%}$
test_reshape_pytree 6.8010ms 32.2370μs 31.0203 KOps/s 31.3551 KOps/s $\color{#d91a1a}-1.07\%$
test_reshape_td 0.1242ms 45.4778μs 21.9888 KOps/s 21.9098 KOps/s $\color{#35bf28}+0.36\%$
test_view_pytree 0.2223ms 31.8342μs 31.4128 KOps/s 31.6881 KOps/s $\color{#d91a1a}-0.87\%$
test_view_td 0.1329ms 52.7100μs 18.9717 KOps/s 18.7616 KOps/s $\color{#35bf28}+1.12\%$
test_unbind_pytree 0.2260ms 36.2090μs 27.6174 KOps/s 27.8843 KOps/s $\color{#d91a1a}-0.96\%$
test_unbind_td 0.1363ms 50.1524μs 19.9392 KOps/s 19.9483 KOps/s $\color{#d91a1a}-0.05\%$
test_split_pytree 0.2551ms 41.6976μs 23.9822 KOps/s 24.0799 KOps/s $\color{#d91a1a}-0.41\%$
test_split_td 0.1963ms 70.8277μs 14.1188 KOps/s 13.9628 KOps/s $\color{#35bf28}+1.12\%$
test_add_pytree 0.1937ms 40.0329μs 24.9795 KOps/s 25.4212 KOps/s $\color{#d91a1a}-1.74\%$
test_add_td 0.1264ms 53.1418μs 18.8176 KOps/s 18.8433 KOps/s $\color{#d91a1a}-0.14\%$
test_compile_add_one_nested[tensordict-compile] 0.4219ms 0.2787ms 3.5887 KOps/s 3.6328 KOps/s $\color{#d91a1a}-1.21\%$
test_compile_add_one_nested[tensordict-eager] 0.3474ms 0.2041ms 4.8993 KOps/s 4.9459 KOps/s $\color{#d91a1a}-0.94\%$
test_compile_add_one_nested[pytree-compile] 0.3353ms 0.1570ms 6.3684 KOps/s 6.3391 KOps/s $\color{#35bf28}+0.46\%$
test_compile_add_one_nested[pytree-eager] 0.4989ms 0.1775ms 5.6334 KOps/s 5.6258 KOps/s $\color{#35bf28}+0.14\%$
test_compile_copy_nested[tensordict-compile] 0.1182ms 27.5257μs 36.3297 KOps/s 45.4626 KOps/s $\textbf{\color{#d91a1a}-20.09\%}$
test_compile_copy_nested[tensordict-eager] 0.1452ms 56.5832μs 17.6731 KOps/s 18.8075 KOps/s $\textbf{\color{#d91a1a}-6.03\%}$
test_compile_copy_nested[pytree-compile] 0.1991ms 19.7905μs 50.5292 KOps/s 50.9048 KOps/s $\color{#d91a1a}-0.74\%$
test_compile_copy_nested[pytree-eager] 0.4026ms 66.6740μs 14.9984 KOps/s 14.8934 KOps/s $\color{#35bf28}+0.70\%$
test_compile_add_one_flat[tensordict-compile] 0.5421ms 0.3126ms 3.1989 KOps/s 3.1142 KOps/s $\color{#35bf28}+2.72\%$
test_compile_add_one_flat[tensordict-eager] 0.3919ms 0.2905ms 3.4421 KOps/s 3.4641 KOps/s $\color{#d91a1a}-0.63\%$
test_compile_add_one_flat[tensorclass-compile] 0.3799ms 0.2161ms 4.6285 KOps/s 4.5366 KOps/s $\color{#35bf28}+2.03\%$
test_compile_add_one_flat[tensorclass-eager] 0.2453ms 78.8003μs 12.6903 KOps/s 13.1765 KOps/s $\color{#d91a1a}-3.69\%$
test_compile_add_one_flat[pytree-compile] 0.5711ms 0.2441ms 4.0963 KOps/s 4.0305 KOps/s $\color{#35bf28}+1.63\%$
test_compile_add_one_flat[pytree-eager] 0.8990ms 0.5390ms 1.8552 KOps/s 1.8734 KOps/s $\color{#d91a1a}-0.97\%$
test_compile_add_self_flat[tensordict-eager] 0.4249ms 0.3419ms 2.9250 KOps/s 2.9369 KOps/s $\color{#d91a1a}-0.41\%$
test_compile_add_self_flat[tensordict-compile] 0.3887ms 0.3110ms 3.2153 KOps/s 3.0981 KOps/s $\color{#35bf28}+3.78\%$
test_compile_add_self_flat[tensorclass-eager] 0.1827ms 93.9437μs 10.6447 KOps/s 10.7886 KOps/s $\color{#d91a1a}-1.33\%$
test_compile_add_self_flat[tensorclass-compile] 0.3085ms 0.2131ms 4.6923 KOps/s 4.4940 KOps/s $\color{#35bf28}+4.41\%$
test_compile_add_self_flat[pytree-eager] 0.7000ms 0.4431ms 2.2570 KOps/s 2.2412 KOps/s $\color{#35bf28}+0.71\%$
test_compile_add_self_flat[pytree-compile] 0.5753ms 0.2430ms 4.1153 KOps/s 3.9682 KOps/s $\color{#35bf28}+3.71\%$
test_compile_copy_flat[tensordict-compile] 0.1183ms 27.1293μs 36.8606 KOps/s 37.0018 KOps/s $\color{#d91a1a}-0.38\%$
test_compile_copy_flat[tensordict-eager] 0.1077ms 41.6677μs 23.9994 KOps/s 24.4311 KOps/s $\color{#d91a1a}-1.77\%$
test_compile_copy_flat[pytree-compile] 0.2489ms 25.5210μs 39.1834 KOps/s 38.5907 KOps/s $\color{#35bf28}+1.54\%$
test_compile_copy_flat[pytree-eager] 0.3356ms 51.6269μs 19.3698 KOps/s 19.3210 KOps/s $\color{#35bf28}+0.25\%$
test_compile_assign_and_add[tensordict-compile] 2.1061ms 0.2613ms 3.8268 KOps/s 3.6087 KOps/s $\textbf{\color{#35bf28}+6.04\%}$
test_compile_assign_and_add[tensordict-eager] 3.6166ms 3.3948ms 294.5641 Ops/s 295.1340 Ops/s $\color{#d91a1a}-0.19\%$
test_compile_assign_and_add[pytree-compile] 1.9543ms 0.1994ms 5.0153 KOps/s 4.8734 KOps/s $\color{#35bf28}+2.91\%$
test_compile_assign_and_add[pytree-eager] 3.0274ms 2.7970ms 357.5212 Ops/s 353.4798 Ops/s $\color{#35bf28}+1.14\%$
test_compile_indexing[tensor-tensordict-compile] 0.3760ms 0.1578ms 6.3360 KOps/s 6.2161 KOps/s $\color{#35bf28}+1.93\%$
test_compile_indexing[tensor-tensordict-eager] 0.3789ms 74.5360μs 13.4163 KOps/s 13.6036 KOps/s $\color{#d91a1a}-1.38\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2917ms 0.1339ms 7.4693 KOps/s 7.0485 KOps/s $\textbf{\color{#35bf28}+5.97\%}$
test_compile_indexing[tensor-tensorclass-eager] 0.3200ms 43.9359μs 22.7605 KOps/s 22.0518 KOps/s $\color{#35bf28}+3.21\%$
test_compile_indexing[tensor-pytree-compile] 0.2074ms 0.1356ms 7.3752 KOps/s 7.1532 KOps/s $\color{#35bf28}+3.10\%$
test_compile_indexing[tensor-pytree-eager] 0.2491ms 44.1810μs 22.6341 KOps/s 22.9069 KOps/s $\color{#d91a1a}-1.19\%$
test_compile_indexing[slice-tensordict-compile] 0.1947ms 92.6424μs 10.7942 KOps/s 10.6330 KOps/s $\color{#35bf28}+1.52\%$
test_compile_indexing[slice-tensordict-eager] 0.2163ms 28.6366μs 34.9203 KOps/s 36.0711 KOps/s $\color{#d91a1a}-3.19\%$
test_compile_indexing[slice-tensorclass-compile] 0.1966ms 71.9238μs 13.9036 KOps/s 13.9770 KOps/s $\color{#d91a1a}-0.53\%$
test_compile_indexing[slice-tensorclass-eager] 0.2514ms 22.3945μs 44.6539 KOps/s 44.9718 KOps/s $\color{#d91a1a}-0.71\%$
test_compile_indexing[slice-pytree-compile] 0.1553ms 73.8387μs 13.5430 KOps/s 13.8646 KOps/s $\color{#d91a1a}-2.32\%$
test_compile_indexing[slice-pytree-eager] 0.3255ms 22.5245μs 44.3960 KOps/s 44.9905 KOps/s $\color{#d91a1a}-1.32\%$
test_compile_indexing[int-tensordict-compile] 0.1977ms 93.6976μs 10.6726 KOps/s 10.4800 KOps/s $\color{#35bf28}+1.84\%$
test_compile_indexing[int-tensordict-eager] 0.2469ms 28.7819μs 34.7440 KOps/s 36.2562 KOps/s $\color{#d91a1a}-4.17\%$
test_compile_indexing[int-tensorclass-compile] 0.1525ms 73.6402μs 13.5795 KOps/s 13.7264 KOps/s $\color{#d91a1a}-1.07\%$
test_compile_indexing[int-tensorclass-eager] 0.2717ms 22.2511μs 44.9416 KOps/s 44.8015 KOps/s $\color{#35bf28}+0.31\%$
test_compile_indexing[int-pytree-compile] 0.1553ms 72.9406μs 13.7098 KOps/s 13.7612 KOps/s $\color{#d91a1a}-0.37\%$
test_compile_indexing[int-pytree-eager] 0.2780ms 22.1506μs 45.1455 KOps/s 44.6811 KOps/s $\color{#35bf28}+1.04\%$
test_compile_replace[single-eager] 0.1403ms 47.9974μs 20.8345 KOps/s 21.0924 KOps/s $\color{#d91a1a}-1.22\%$
test_compile_replace[single-compile] 0.2752ms 0.1481ms 6.7513 KOps/s 6.4819 KOps/s $\color{#35bf28}+4.16\%$
test_compile_replace[multi-eager] 0.6975ms 0.5772ms 1.7325 KOps/s 1.7406 KOps/s $\color{#d91a1a}-0.46\%$
test_compile_replace[multi-compile] 0.3281ms 0.1596ms 6.2646 KOps/s 6.1963 KOps/s $\color{#35bf28}+1.10\%$
test_compile_tc_getattr_20[eager] 0.2316ms 0.1759ms 5.6843 KOps/s 5.6840 KOps/s $+0.00\%$
test_compile_tc_getattr_20[compile] 0.3216ms 0.1748ms 5.7197 KOps/s 5.6096 KOps/s $\color{#35bf28}+1.96\%$
test_compile_clone_shallow[20-eager] 77.7310μs 19.2677μs 51.9004 KOps/s 52.2494 KOps/s $\color{#d91a1a}-0.67\%$
test_compile_clone_shallow[20-compile] 86.3320μs 23.3876μs 42.7577 KOps/s 41.9718 KOps/s $\color{#35bf28}+1.87\%$
test_compile_clone_shallow[40-eager] 97.1020μs 33.9657μs 29.4415 KOps/s 29.8137 KOps/s $\color{#d91a1a}-1.25\%$
test_compile_clone_shallow[40-compile] 96.9420μs 25.7108μs 38.8941 KOps/s 37.0710 KOps/s $\color{#35bf28}+4.92\%$
test_compile_clone_shallow[80-eager] 0.1435ms 62.0492μs 16.1163 KOps/s 16.0394 KOps/s $\color{#35bf28}+0.48\%$
test_compile_clone_shallow[80-compile] 80.2310μs 28.8357μs 34.6792 KOps/s 34.8281 KOps/s $\color{#d91a1a}-0.43\%$
test_compile_update_inplace[eager] 0.1278ms 62.5497μs 15.9873 KOps/s 15.8787 KOps/s $\color{#35bf28}+0.68\%$
test_compile_update_inplace[compile] 0.2662ms 0.1227ms 8.1530 KOps/s 7.8903 KOps/s $\color{#35bf28}+3.33\%$
test_mod_add[eager] 0.3045ms 0.2272ms 4.4008 KOps/s 4.3391 KOps/s $\color{#35bf28}+1.42\%$
test_mod_add[compile] 0.3632ms 0.1220ms 8.1995 KOps/s 7.6650 KOps/s $\textbf{\color{#35bf28}+6.97\%}$
test_mod_add[compile-overhead] 0.4215ms 0.1982ms 5.0453 KOps/s 4.7524 KOps/s $\textbf{\color{#35bf28}+6.16\%}$
test_mod_wrap[eager] 0.5523ms 0.4732ms 2.1135 KOps/s 2.0362 KOps/s $\color{#35bf28}+3.79\%$
test_mod_wrap[compile] 0.4965ms 0.3487ms 2.8679 KOps/s 2.8555 KOps/s $\color{#35bf28}+0.44\%$
test_mod_wrap[compile-overhead] 6.9611ms 3.8986ms 256.5044 Ops/s 253.8120 Ops/s $\color{#35bf28}+1.06\%$
test_mod_wrap_and_backward[eager] 2.0054ms 1.7933ms 557.6314 Ops/s 595.5331 Ops/s $\textbf{\color{#d91a1a}-6.36\%}$
test_mod_wrap_and_backward[compile] 2.0735ms 1.4678ms 681.2720 Ops/s 736.6847 Ops/s $\textbf{\color{#d91a1a}-7.52\%}$
test_mod_wrap_and_backward[compile-overhead] 1.7906ms 1.0885ms 918.7108 Ops/s 1.0239 KOps/s $\textbf{\color{#d91a1a}-10.27\%}$
test_seq_add[eager] 0.6247ms 0.5120ms 1.9530 KOps/s 1.9612 KOps/s $\color{#d91a1a}-0.42\%$
test_seq_add[compile] 0.2755ms 0.1359ms 7.3559 KOps/s 7.1890 KOps/s $\color{#35bf28}+2.32\%$
test_seq_add[compile-overhead] 0.3228ms 0.2091ms 4.7835 KOps/s 4.6942 KOps/s $\color{#35bf28}+1.90\%$
test_seq_wrap[eager] 1.5985ms 1.4179ms 705.2920 Ops/s 702.4259 Ops/s $\color{#35bf28}+0.41\%$
test_seq_wrap[compile] 0.4418ms 0.3691ms 2.7096 KOps/s 2.6574 KOps/s $\color{#35bf28}+1.97\%$
test_seq_wrap[compile-overhead] 0.4912ms 0.3290ms 3.0398 KOps/s 3.0153 KOps/s $\color{#35bf28}+0.81\%$
test_func_call_runtime[False-eager] 1.0228ms 0.8389ms 1.1921 KOps/s 1.2460 KOps/s $\color{#d91a1a}-4.33\%$
test_func_call_runtime[False-compile] 0.8993ms 0.7662ms 1.3051 KOps/s 1.3067 KOps/s $\color{#d91a1a}-0.13\%$
test_func_call_runtime[False-compile-overhead] 0.7045ms 0.5103ms 1.9598 KOps/s 1.9295 KOps/s $\color{#35bf28}+1.57\%$
test_func_call_runtime[True-eager] 1.3196ms 1.0857ms 921.0424 Ops/s 917.5796 Ops/s $\color{#35bf28}+0.38\%$
test_func_call_runtime[True-compile] 0.8594ms 0.7829ms 1.2774 KOps/s 1.2840 KOps/s $\color{#d91a1a}-0.52\%$
test_func_call_runtime[True-compile-overhead] 0.7111ms 0.5312ms 1.8826 KOps/s 1.8587 KOps/s $\color{#35bf28}+1.28\%$
test_func_call_cm_runtime[False-eager] 0.9669ms 0.8144ms 1.2279 KOps/s 1.1923 KOps/s $\color{#35bf28}+2.99\%$
test_func_call_cm_runtime[False-compile] 0.8327ms 0.7518ms 1.3302 KOps/s 1.3075 KOps/s $\color{#35bf28}+1.74\%$
test_func_call_cm_runtime[False-compile-overhead] 0.6665ms 0.4925ms 2.0304 KOps/s 2.0028 KOps/s $\color{#35bf28}+1.37\%$
test_func_call_cm_runtime[True-eager] 1.3466ms 1.2174ms 821.4221 Ops/s 819.1496 Ops/s $\color{#35bf28}+0.28\%$
test_func_call_cm_runtime[True-compile] 0.9956ms 0.8652ms 1.1558 KOps/s 1.1510 KOps/s $\color{#35bf28}+0.42\%$
test_func_call_cm_runtime[True-compile-overhead] 1.1436ms 0.8910ms 1.1223 KOps/s 1.1229 KOps/s $\color{#d91a1a}-0.05\%$
test_vmap_func_call_cm_runtime[eager] 3.2019ms 2.6969ms 370.7977 Ops/s 367.5866 Ops/s $\color{#35bf28}+0.87\%$
test_vmap_func_call_cm_runtime[compile] 4.3356ms 3.7214ms 268.7152 Ops/s 268.2261 Ops/s $\color{#35bf28}+0.18\%$
test_vmap_func_call_cm_runtime[compile-overhead] 4.2527ms 3.7062ms 269.8188 Ops/s 268.9693 Ops/s $\color{#35bf28}+0.32\%$
test_distributed 0.5092ms 0.1529ms 6.5387 KOps/s 6.6428 KOps/s $\color{#d91a1a}-1.57\%$
test_tdmodule 0.2824ms 0.1953ms 5.1200 KOps/s 5.1667 KOps/s $\color{#d91a1a}-0.90\%$
test_tdmodule_dispatch 0.4243ms 0.3755ms 2.6630 KOps/s 2.6754 KOps/s $\color{#d91a1a}-0.46\%$
test_tdseq 48.3510μs 27.1778μs 36.7948 KOps/s 36.3471 KOps/s $\color{#35bf28}+1.23\%$
test_tdseq_dispatch 0.2792ms 0.2217ms 4.5103 KOps/s 4.5416 KOps/s $\color{#d91a1a}-0.69\%$
test_instantiation_functorch 2.8236ms 2.6962ms 370.8928 Ops/s 372.6559 Ops/s $\color{#d91a1a}-0.47\%$
test_exec_functorch 0.3658ms 0.1961ms 5.0997 KOps/s 5.0570 KOps/s $\color{#35bf28}+0.84\%$
test_exec_functional_call 0.2547ms 0.1636ms 6.1108 KOps/s 6.3711 KOps/s $\color{#d91a1a}-4.09\%$
test_exec_td_decorator 0.5365ms 0.2476ms 4.0394 KOps/s 4.0631 KOps/s $\color{#d91a1a}-0.58\%$
test_vmap_mlp_speed_decorator[True-True] 1.3696ms 1.1261ms 888.0020 Ops/s 884.5111 Ops/s $\color{#35bf28}+0.39\%$
test_vmap_mlp_speed_decorator[True-False] 1.3337ms 1.1216ms 891.5808 Ops/s 886.4639 Ops/s $\color{#35bf28}+0.58\%$
test_vmap_mlp_speed_decorator[False-True] 1.0290ms 0.8231ms 1.2149 KOps/s 1.2102 KOps/s $\color{#35bf28}+0.40\%$
test_vmap_mlp_speed_decorator[False-False] 1.0350ms 0.8222ms 1.2162 KOps/s 1.1955 KOps/s $\color{#35bf28}+1.73\%$
test_vmap_transformer_speed_decorator[True-True] 27.2551ms 25.1181ms 39.8119 Ops/s 39.4590 Ops/s $\color{#35bf28}+0.89\%$
test_vmap_transformer_speed_decorator[True-False] 25.9921ms 24.9841ms 40.0254 Ops/s 39.8303 Ops/s $\color{#35bf28}+0.49\%$
test_vmap_transformer_speed_decorator[False-True] 25.5222ms 24.6493ms 40.5691 Ops/s 40.5961 Ops/s $\color{#d91a1a}-0.07\%$
test_vmap_transformer_speed_decorator[False-False] 25.5124ms 24.8097ms 40.3068 Ops/s 40.4779 Ops/s $\color{#d91a1a}-0.42\%$
test_to_module_speed[True] 2.2952ms 1.6356ms 611.3964 Ops/s 604.5184 Ops/s $\color{#35bf28}+1.14\%$
test_to_module_speed[False] 2.2178ms 1.6129ms 620.0101 Ops/s 617.8259 Ops/s $\color{#35bf28}+0.35\%$
test_to_module_plain_tensor_speed[None] 2.4020ms 1.7288ms 578.4272 Ops/s 584.2552 Ops/s $\color{#d91a1a}-1.00\%$
test_to_module_plain_tensor_speed[False] 2.2022ms 1.5581ms 641.7929 Ops/s 639.9918 Ops/s $\color{#35bf28}+0.28\%$
test_to_module_plain_tensor_speed[True] 3.4860ms 3.3582ms 297.7747 Ops/s 293.6161 Ops/s $\color{#35bf28}+1.42\%$
test_tc_init 97.6020μs 43.4499μs 23.0150 KOps/s 22.7681 KOps/s $\color{#35bf28}+1.08\%$
test_tc_init_tensor_only 78.0610μs 9.4300μs 106.0450 KOps/s 105.1552 KOps/s $\color{#35bf28}+0.85\%$
test_tc_init_nested 0.1396ms 87.4181μs 11.4393 KOps/s 11.3625 KOps/s $\color{#35bf28}+0.68\%$
test_tc_init_many_fields 79.7320μs 17.3214μs 57.7322 KOps/s 57.1894 KOps/s $\color{#35bf28}+0.95\%$
test_tc_first_layer_tensor 34.8510μs 1.7942μs 557.3631 KOps/s 552.7114 KOps/s $\color{#35bf28}+0.84\%$
test_tc_first_layer_tensor_only 4.6600μs 0.4060μs 2.4628 MOps/s 2.5094 MOps/s $\color{#d91a1a}-1.86\%$
test_tc_first_layer_tensor_set 43.1910μs 4.1874μs 238.8122 KOps/s 234.2344 KOps/s $\color{#35bf28}+1.95\%$
test_tc_first_layer_tensor_only_set 32.4610μs 3.4682μs 288.3307 KOps/s 287.5858 KOps/s $\color{#35bf28}+0.26\%$
test_tc_first_layer_nontensor 46.8110μs 6.0155μs 166.2384 KOps/s 161.9062 KOps/s $\color{#35bf28}+2.68\%$
test_tc_second_layer_tensor 33.8900μs 4.2799μs 233.6482 KOps/s 227.0209 KOps/s $\color{#35bf28}+2.92\%$
test_tc_second_layer_nontensor 73.9310μs 8.3433μs 119.8572 KOps/s 114.7158 KOps/s $\color{#35bf28}+4.48\%$
test_unbind 0.2915s 14.2881ms 69.9882 Ops/s 65.5401 Ops/s $\textbf{\color{#35bf28}+6.79\%}$
test_full_like 4.7301ms 4.5744ms 218.6067 Ops/s 211.8108 Ops/s $\color{#35bf28}+3.21\%$
test_zeros_like 4.7760ms 4.6122ms 216.8184 Ops/s 215.5227 Ops/s $\color{#35bf28}+0.60\%$
test_ones_like 4.8060ms 4.6457ms 215.2506 Ops/s 214.2894 Ops/s $\color{#35bf28}+0.45\%$
test_clone 7.0251ms 6.8655ms 145.6563 Ops/s 143.6470 Ops/s $\color{#35bf28}+1.40\%$
test_squeeze 0.1923ms 14.4553μs 69.1790 KOps/s 70.6368 KOps/s $\color{#d91a1a}-2.06\%$
test_unsqueeze 0.1870ms 0.1115ms 8.9714 KOps/s 8.7500 KOps/s $\color{#35bf28}+2.53\%$
test_split 0.4241ms 0.1898ms 5.2699 KOps/s 5.3031 KOps/s $\color{#d91a1a}-0.63\%$
test_permute 0.2488ms 0.1975ms 5.0622 KOps/s 4.9791 KOps/s $\color{#35bf28}+1.67\%$
test_stack 19.5064ms 19.3142ms 51.7754 Ops/s 21.9804 Ops/s $\textbf{\color{#35bf28}+135.55\%}$
test_cat 19.5535ms 19.2548ms 51.9350 Ops/s 22.4849 Ops/s $\textbf{\color{#35bf28}+130.98\%}$
test_sequential_tensordict 1.0125ms 0.8991ms 1.1122 KOps/s 1.1236 KOps/s $\color{#d91a1a}-1.02\%$
test_sequential_graph_module 0.5410ms 0.4818ms 2.0755 KOps/s 2.1473 KOps/s $\color{#d91a1a}-3.34\%$
test_nested_tensordict 1.4160ms 1.3246ms 754.9530 Ops/s 752.6076 Ops/s $\color{#35bf28}+0.31\%$
test_nested_graph_module 0.6704ms 0.5961ms 1.6777 KOps/s 1.6532 KOps/s $\color{#35bf28}+1.48\%$

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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

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

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_collector_preallocated_write[stack_out-cpu-32-2] 0.2190ms 0.1636ms 6.1127 KOps/s 5.8882 KOps/s $\color{#35bf28}+3.81\%$
test_collector_preallocated_write[stack_out-cpu-32-8] 0.3799ms 0.2939ms 3.4031 KOps/s 3.3260 KOps/s $\color{#35bf28}+2.32\%$
test_collector_preallocated_write[stack_out-cpu-32-32] 0.8798ms 0.7852ms 1.2735 KOps/s 1.2479 KOps/s $\color{#35bf28}+2.06\%$
test_collector_preallocated_write[stack_out-cpu-4096-2] 0.4796ms 0.3359ms 2.9767 KOps/s 2.9339 KOps/s $\color{#35bf28}+1.46\%$
test_collector_preallocated_write[stack_out-cpu-4096-8] 1.2966ms 1.1439ms 874.1716 Ops/s 917.3452 Ops/s $\color{#d91a1a}-4.71\%$
test_collector_preallocated_write[stack_out-cpu-4096-32] 7.7959ms 7.2585ms 137.7696 Ops/s 137.2425 Ops/s $\color{#35bf28}+0.38\%$
test_collector_preallocated_write[stack_out-cuda-32-2] 0.2977ms 0.2541ms 3.9356 KOps/s 3.9588 KOps/s $\color{#d91a1a}-0.58\%$
test_collector_preallocated_write[stack_out-cuda-32-8] 0.4610ms 0.3802ms 2.6299 KOps/s 2.5350 KOps/s $\color{#35bf28}+3.74\%$
test_collector_preallocated_write[stack_out-cuda-32-32] 0.9264ms 0.8377ms 1.1937 KOps/s 1.1891 KOps/s $\color{#35bf28}+0.39\%$
test_collector_preallocated_write[stack_out-cuda-4096-2] 0.3272ms 0.2644ms 3.7826 KOps/s 3.7606 KOps/s $\color{#35bf28}+0.58\%$
test_collector_preallocated_write[stack_out-cuda-4096-8] 0.4723ms 0.3871ms 2.5832 KOps/s 2.5077 KOps/s $\color{#35bf28}+3.01\%$
test_collector_preallocated_write[stack_out-cuda-4096-32] 1.3638ms 0.8942ms 1.1184 KOps/s 1.1140 KOps/s $\color{#35bf28}+0.39\%$
test_collector_preallocated_write[set_at_loop-cpu-32-2] 0.2687ms 0.2099ms 4.7650 KOps/s 4.7539 KOps/s $\color{#35bf28}+0.23\%$
test_collector_preallocated_write[set_at_loop-cpu-32-8] 0.9080ms 0.8071ms 1.2389 KOps/s 1.1623 KOps/s $\textbf{\color{#35bf28}+6.60\%}$
test_collector_preallocated_write[set_at_loop-cpu-32-32] 3.2960ms 3.2015ms 312.3574 Ops/s 294.3616 Ops/s $\textbf{\color{#35bf28}+6.11\%}$
test_collector_preallocated_write[set_at_loop-cpu-4096-2] 0.4816ms 0.3723ms 2.6863 KOps/s 2.6365 KOps/s $\color{#35bf28}+1.89\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-8] 1.8797ms 1.6725ms 597.9018 Ops/s 573.0040 Ops/s $\color{#35bf28}+4.35\%$
test_collector_preallocated_write[set_at_loop-cpu-4096-32] 10.2608ms 10.1075ms 98.9368 Ops/s 97.9334 Ops/s $\color{#35bf28}+1.02\%$
test_collector_preallocated_write[set_at_loop-cuda-32-2] 0.4592ms 0.3917ms 2.5528 KOps/s 2.5697 KOps/s $\color{#d91a1a}-0.66\%$
test_collector_preallocated_write[set_at_loop-cuda-32-8] 1.6550ms 1.4658ms 682.2160 Ops/s 673.7207 Ops/s $\color{#35bf28}+1.26\%$
test_collector_preallocated_write[set_at_loop-cuda-32-32] 5.8652ms 5.7004ms 175.4265 Ops/s 167.8805 Ops/s $\color{#35bf28}+4.49\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-2] 0.4907ms 0.3903ms 2.5624 KOps/s 2.4125 KOps/s $\textbf{\color{#35bf28}+6.21\%}$
test_collector_preallocated_write[set_at_loop-cuda-4096-8] 1.5611ms 1.4610ms 684.4477 Ops/s 686.0326 Ops/s $\color{#d91a1a}-0.23\%$
test_collector_preallocated_write[set_at_loop-cuda-4096-32] 5.9345ms 5.7333ms 174.4182 Ops/s 170.4751 Ops/s $\color{#35bf28}+2.31\%$
test_collector_preallocated_write[copy_at-cpu-32-2] 0.2363ms 0.1719ms 5.8167 KOps/s 5.8081 KOps/s $\color{#35bf28}+0.15\%$
test_collector_preallocated_write[copy_at-cpu-32-8] 0.7736ms 0.6694ms 1.4939 KOps/s 1.4984 KOps/s $\color{#d91a1a}-0.30\%$
test_collector_preallocated_write[copy_at-cpu-32-32] 2.7601ms 2.6589ms 376.0966 Ops/s 376.7339 Ops/s $\color{#d91a1a}-0.17\%$
test_collector_preallocated_write[copy_at-cpu-4096-2] 0.3885ms 0.3115ms 3.2105 KOps/s 3.0710 KOps/s $\color{#35bf28}+4.54\%$
test_collector_preallocated_write[copy_at-cpu-4096-8] 1.7580ms 1.5749ms 634.9482 Ops/s 682.6792 Ops/s $\textbf{\color{#d91a1a}-6.99\%}$
test_collector_preallocated_write[copy_at-cpu-4096-32] 10.2641ms 9.5750ms 104.4383 Ops/s 105.8575 Ops/s $\color{#d91a1a}-1.34\%$
test_collector_preallocated_write[copy_at-cuda-32-2] 0.4020ms 0.3235ms 3.0912 KOps/s 3.0921 KOps/s $\color{#d91a1a}-0.03\%$
test_collector_preallocated_write[copy_at-cuda-32-8] 1.2853ms 1.2052ms 829.7215 Ops/s 834.2359 Ops/s $\color{#d91a1a}-0.54\%$
test_collector_preallocated_write[copy_at-cuda-32-32] 4.7817ms 4.7046ms 212.5599 Ops/s 213.0840 Ops/s $\color{#d91a1a}-0.25\%$
test_collector_preallocated_write[copy_at-cuda-4096-2] 0.3789ms 0.3253ms 3.0739 KOps/s 3.0853 KOps/s $\color{#d91a1a}-0.37\%$
test_collector_preallocated_write[copy_at-cuda-4096-8] 1.2713ms 1.2113ms 825.5430 Ops/s 829.5046 Ops/s $\color{#d91a1a}-0.48\%$
test_collector_preallocated_write[copy_at-cuda-4096-32] 4.8785ms 4.7420ms 210.8812 Ops/s 211.3739 Ops/s $\color{#d91a1a}-0.23\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] 0.1648ms 0.1203ms 8.3116 KOps/s 8.2824 KOps/s $\color{#35bf28}+0.35\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] 0.5189ms 0.4686ms 2.1339 KOps/s 2.1220 KOps/s $\color{#35bf28}+0.56\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] 1.9310ms 1.8724ms 534.0698 Ops/s 528.9816 Ops/s $\color{#35bf28}+0.96\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] 0.3549ms 0.2597ms 3.8499 KOps/s 3.8880 KOps/s $\color{#d91a1a}-0.98\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] 1.4613ms 1.2790ms 781.8649 Ops/s 806.6674 Ops/s $\color{#d91a1a}-3.07\%$
test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] 8.9237ms 8.5780ms 116.5776 Ops/s 116.8735 Ops/s $\color{#d91a1a}-0.25\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] 0.3471ms 0.2816ms 3.5515 KOps/s 3.6334 KOps/s $\color{#d91a1a}-2.25\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] 1.1546ms 1.0466ms 955.5111 Ops/s 983.7887 Ops/s $\color{#d91a1a}-2.87\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] 4.1766ms 4.0922ms 244.3665 Ops/s 252.3908 Ops/s $\color{#d91a1a}-3.18\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] 0.3800ms 0.2824ms 3.5416 KOps/s 3.6366 KOps/s $\color{#d91a1a}-2.61\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] 1.1209ms 1.0479ms 954.2942 Ops/s 977.6500 Ops/s $\color{#d91a1a}-2.39\%$
test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] 4.1852ms 4.0986ms 243.9867 Ops/s 250.0075 Ops/s $\color{#d91a1a}-2.41\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-128] 16.5590ms 16.3809ms 61.0466 Ops/s 60.6287 Ops/s $\color{#35bf28}+0.69\%$
test_wide_nested_preallocated_write[stack_out-cpu-128-256] 33.7598ms 33.5026ms 29.8484 Ops/s 29.9779 Ops/s $\color{#d91a1a}-0.43\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-128] 84.3439ms 83.8428ms 11.9271 Ops/s 12.0033 Ops/s $\color{#d91a1a}-0.63\%$
test_wide_nested_preallocated_write[stack_out-cpu-4096-256] 0.1943s 0.1941s 5.1515 Ops/s 5.1253 Ops/s $\color{#35bf28}+0.51\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-128] 13.9708ms 13.8416ms 72.2461 Ops/s 71.9449 Ops/s $\color{#35bf28}+0.42\%$
test_wide_nested_preallocated_write[stack_out-cuda-128-256] 27.3751ms 27.0101ms 37.0232 Ops/s 36.8636 Ops/s $\color{#35bf28}+0.43\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-128] 14.1980ms 14.0176ms 71.3388 Ops/s 70.5199 Ops/s $\color{#35bf28}+1.16\%$
test_wide_nested_preallocated_write[stack_out-cuda-4096-256] 27.5707ms 27.4211ms 36.4683 Ops/s 36.3858 Ops/s $\color{#35bf28}+0.23\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] 51.8619ms 51.3376ms 19.4789 Ops/s 18.5322 Ops/s $\textbf{\color{#35bf28}+5.11\%}$
test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] 0.1035s 0.1033s 9.6842 Ops/s 9.6025 Ops/s $\color{#35bf28}+0.85\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] 0.1445s 0.1438s 6.9556 Ops/s 7.0617 Ops/s $\color{#d91a1a}-1.50\%$
test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] 0.3188s 0.3171s 3.1538 Ops/s 3.1569 Ops/s $\color{#d91a1a}-0.10\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] 74.2838ms 73.9606ms 13.5207 Ops/s 12.8572 Ops/s $\textbf{\color{#35bf28}+5.16\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] 0.1480s 0.1472s 6.7919 Ops/s 6.7093 Ops/s $\color{#35bf28}+1.23\%$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] 75.1137ms 74.5617ms 13.4117 Ops/s 12.7383 Ops/s $\textbf{\color{#35bf28}+5.29\%}$
test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] 0.1497s 0.1485s 6.7331 Ops/s 6.4671 Ops/s $\color{#35bf28}+4.11\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-128] 30.4020ms 30.2484ms 33.0596 Ops/s 33.2783 Ops/s $\color{#d91a1a}-0.66\%$
test_wide_nested_preallocated_write[copy_at-cpu-128-256] 61.7747ms 61.4303ms 16.2786 Ops/s 16.4308 Ops/s $\color{#d91a1a}-0.93\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-128] 0.1197s 0.1187s 8.4250 Ops/s 8.4383 Ops/s $\color{#d91a1a}-0.16\%$
test_wide_nested_preallocated_write[copy_at-cpu-4096-256] 0.2652s 0.2626s 3.8085 Ops/s 3.7383 Ops/s $\color{#35bf28}+1.88\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-128] 43.6088ms 43.4674ms 23.0057 Ops/s 23.2822 Ops/s $\color{#d91a1a}-1.19\%$
test_wide_nested_preallocated_write[copy_at-cuda-128-256] 87.2448ms 86.9167ms 11.5053 Ops/s 11.6142 Ops/s $\color{#d91a1a}-0.94\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-128] 43.9408ms 43.8061ms 22.8279 Ops/s 23.0663 Ops/s $\color{#d91a1a}-1.03\%$
test_wide_nested_preallocated_write[copy_at-cuda-4096-256] 87.7747ms 87.5638ms 11.4202 Ops/s 11.5764 Ops/s $\color{#d91a1a}-1.35\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] 20.5646ms 20.3697ms 49.0926 Ops/s 48.1201 Ops/s $\color{#35bf28}+2.02\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] 41.5910ms 41.4344ms 24.1345 Ops/s 23.7052 Ops/s $\color{#35bf28}+1.81\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] 0.1080s 0.1071s 9.3402 Ops/s 9.3301 Ops/s $\color{#35bf28}+0.11\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] 0.2403s 0.2398s 4.1710 Ops/s 4.0689 Ops/s $\color{#35bf28}+2.51\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] 37.8421ms 37.4736ms 26.6855 Ops/s 27.3655 Ops/s $\color{#d91a1a}-2.48\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] 74.6467ms 74.3014ms 13.4587 Ops/s 13.6948 Ops/s $\color{#d91a1a}-1.72\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] 37.7034ms 37.3747ms 26.7561 Ops/s 27.2310 Ops/s $\color{#d91a1a}-1.74\%$
test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] 75.0333ms 74.3639ms 13.4474 Ops/s 13.7219 Ops/s $\color{#d91a1a}-2.00\%$
test_plain_set_nested 59.9110μs 15.2732μs 65.4742 KOps/s 67.0585 KOps/s $\color{#d91a1a}-2.36\%$
test_plain_set_stack_nested 40.2900μs 14.7401μs 67.8422 KOps/s 68.0387 KOps/s $\color{#d91a1a}-0.29\%$
test_plain_set_nested_inplace 65.4010μs 16.4294μs 60.8667 KOps/s 61.1736 KOps/s $\color{#d91a1a}-0.50\%$
test_plain_set_stack_nested_inplace 42.6310μs 16.0396μs 62.3455 KOps/s 61.7335 KOps/s $\color{#35bf28}+0.99\%$
test_items 57.5910μs 6.0588μs 165.0500 KOps/s 165.3880 KOps/s $\color{#d91a1a}-0.20\%$
test_items_nested 0.5320ms 0.4621ms 2.1642 KOps/s 2.1429 KOps/s $\color{#35bf28}+0.99\%$
test_items_nested_locked 0.5299ms 0.4673ms 2.1399 KOps/s 2.1440 KOps/s $\color{#d91a1a}-0.19\%$
test_items_nested_leaf 0.1647ms 96.9033μs 10.3196 KOps/s 10.3854 KOps/s $\color{#d91a1a}-0.63\%$
test_items_stack_nested 0.6099ms 0.4539ms 2.2031 KOps/s 2.1459 KOps/s $\color{#35bf28}+2.66\%$
test_items_stack_nested_leaf 0.1421ms 96.8944μs 10.3205 KOps/s 10.4994 KOps/s $\color{#d91a1a}-1.70\%$
test_items_stack_nested_locked 0.5237ms 0.4641ms 2.1549 KOps/s 2.1465 KOps/s $\color{#35bf28}+0.39\%$
test_keys 32.2410μs 4.1657μs 240.0549 KOps/s 238.2640 KOps/s $\color{#35bf28}+0.75\%$
test_keys_nested 0.1801ms 0.1291ms 7.7432 KOps/s 7.7534 KOps/s $\color{#d91a1a}-0.13\%$
test_keys_nested_locked 2.0570ms 0.1376ms 7.2685 KOps/s 7.2816 KOps/s $\color{#d91a1a}-0.18\%$
test_keys_nested_leaf 0.1829ms 0.1200ms 8.3312 KOps/s 8.3191 KOps/s $\color{#35bf28}+0.14\%$
test_keys_stack_nested 0.1788ms 0.1284ms 7.7853 KOps/s 7.7848 KOps/s $+0.01\%$
test_keys_stack_nested_leaf 0.1821ms 0.1193ms 8.3801 KOps/s 8.4287 KOps/s $\color{#d91a1a}-0.58\%$
test_keys_stack_nested_locked 0.1846ms 0.1358ms 7.3642 KOps/s 7.4036 KOps/s $\color{#d91a1a}-0.53\%$
test_values 14.8962μs 1.0121μs 988.0165 KOps/s 947.5727 KOps/s $\color{#35bf28}+4.27\%$
test_values_nested 90.5620μs 52.1565μs 19.1731 KOps/s 19.1597 KOps/s $\color{#35bf28}+0.07\%$
test_values_nested_locked 0.1108ms 55.7552μs 17.9356 KOps/s 17.9909 KOps/s $\color{#d91a1a}-0.31\%$
test_values_nested_leaf 0.1331ms 59.6248μs 16.7716 KOps/s 16.7240 KOps/s $\color{#35bf28}+0.28\%$
test_values_stack_nested 0.1079ms 51.8725μs 19.2780 KOps/s 19.0643 KOps/s $\color{#35bf28}+1.12\%$
test_values_stack_nested_leaf 0.1209ms 59.3271μs 16.8557 KOps/s 16.9846 KOps/s $\color{#d91a1a}-0.76\%$
test_values_stack_nested_locked 0.1123ms 55.1947μs 18.1177 KOps/s 18.0257 KOps/s $\color{#35bf28}+0.51\%$
test_membership 10.2402μs 0.8356μs 1.1968 MOps/s 1.1875 MOps/s $\color{#35bf28}+0.78\%$
test_membership_nested 24.9500μs 2.9500μs 338.9781 KOps/s 342.0181 KOps/s $\color{#d91a1a}-0.89\%$
test_membership_nested_leaf 58.1910μs 2.9289μs 341.4238 KOps/s 341.8833 KOps/s $\color{#d91a1a}-0.13\%$
test_membership_stacked_nested 33.3410μs 2.8479μs 351.1333 KOps/s 349.0116 KOps/s $\color{#35bf28}+0.61\%$
test_membership_stacked_nested_leaf 69.6210μs 2.8542μs 350.3627 KOps/s 349.2620 KOps/s $\color{#35bf28}+0.32\%$
test_membership_nested_last 46.6510μs 4.4059μs 226.9697 KOps/s 227.3216 KOps/s $\color{#d91a1a}-0.15\%$
test_membership_nested_leaf_last 72.7210μs 4.4325μs 225.6056 KOps/s 223.8311 KOps/s $\color{#35bf28}+0.79\%$
test_membership_stacked_nested_last 27.0510μs 4.2978μs 232.6797 KOps/s 234.0015 KOps/s $\color{#d91a1a}-0.56\%$
test_membership_stacked_nested_leaf_last 69.4110μs 4.2764μs 233.8437 KOps/s 234.0392 KOps/s $\color{#d91a1a}-0.08\%$
test_nested_getleaf 69.6120μs 21.1009μs 47.3913 KOps/s 46.9486 KOps/s $\color{#35bf28}+0.94\%$
test_nested_get 72.6220μs 20.3067μs 49.2448 KOps/s 49.3310 KOps/s $\color{#d91a1a}-0.17\%$
test_stacked_getleaf 80.8820μs 21.0211μs 47.5711 KOps/s 47.3114 KOps/s $\color{#35bf28}+0.55\%$
test_stacked_get 75.3910μs 19.8226μs 50.4474 KOps/s 50.4952 KOps/s $\color{#d91a1a}-0.09\%$
test_nested_getitemleaf 75.9610μs 21.8149μs 45.8403 KOps/s 45.9199 KOps/s $\color{#d91a1a}-0.17\%$
test_nested_getitem 61.8210μs 20.8543μs 47.9517 KOps/s 48.2507 KOps/s $\color{#d91a1a}-0.62\%$
test_stacked_getitemleaf 76.7710μs 21.4278μs 46.6683 KOps/s 46.6095 KOps/s $\color{#35bf28}+0.13\%$
test_stacked_getitem 86.8820μs 20.3043μs 49.2506 KOps/s 49.0593 KOps/s $\color{#35bf28}+0.39\%$
test_lock_nested 2.9053ms 0.5056ms 1.9778 KOps/s 1.9826 KOps/s $\color{#d91a1a}-0.24\%$
test_lock_stack_nested 0.5537ms 0.5092ms 1.9639 KOps/s 1.9646 KOps/s $\color{#d91a1a}-0.04\%$
test_unlock_nested 0.4801ms 0.4004ms 2.4973 KOps/s 2.5138 KOps/s $\color{#d91a1a}-0.65\%$
test_unlock_stack_nested 0.4320ms 0.4006ms 2.4963 KOps/s 2.5015 KOps/s $\color{#d91a1a}-0.21\%$
test_flatten_speed 0.1561ms 0.1221ms 8.1887 KOps/s 8.1185 KOps/s $\color{#35bf28}+0.86\%$
test_unflatten_speed 0.6285ms 0.5631ms 1.7758 KOps/s 1.7840 KOps/s $\color{#d91a1a}-0.46\%$
test_common_ops 0.8791ms 0.6812ms 1.4679 KOps/s 1.3937 KOps/s $\textbf{\color{#35bf28}+5.33\%}$
test_creation 0.1323ms 3.2220μs 310.3625 KOps/s 323.8972 KOps/s $\color{#d91a1a}-4.18\%$
test_creation_empty 49.4810μs 7.0606μs 141.6313 KOps/s 142.1928 KOps/s $\color{#d91a1a}-0.39\%$
test_creation_nested_1 46.3710μs 11.7096μs 85.4003 KOps/s 86.3382 KOps/s $\color{#d91a1a}-1.09\%$
test_creation_nested_2 66.9620μs 13.5205μs 73.9618 KOps/s 74.5402 KOps/s $\color{#d91a1a}-0.78\%$
test_creation_many_keys[10] 82.6820μs 21.2626μs 47.0310 KOps/s 47.9178 KOps/s $\color{#d91a1a}-1.85\%$
test_creation_many_keys[50] 0.1345ms 90.2346μs 11.0822 KOps/s 11.0450 KOps/s $\color{#35bf28}+0.34\%$
test_creation_many_keys[100] 0.2333ms 0.1779ms 5.6196 KOps/s 5.7542 KOps/s $\color{#d91a1a}-2.34\%$
test_creation_nested_many_keys[10] 92.7320μs 45.4042μs 22.0244 KOps/s 22.1112 KOps/s $\color{#d91a1a}-0.39\%$
test_creation_nested_many_keys[50] 0.3062ms 0.1844ms 5.4234 KOps/s 5.3988 KOps/s $\color{#35bf28}+0.46\%$
test_clone 43.4210μs 12.9670μs 77.1185 KOps/s 76.5070 KOps/s $\color{#35bf28}+0.80\%$
test_getitem[int] 1.4230ms 15.4208μs 64.8477 KOps/s 66.0365 KOps/s $\color{#d91a1a}-1.80\%$
test_getitem[slice_int] 0.1414ms 25.4170μs 39.3437 KOps/s 40.7046 KOps/s $\color{#d91a1a}-3.34\%$
test_getitem[range] 0.1825ms 62.5917μs 15.9766 KOps/s 16.0565 KOps/s $\color{#d91a1a}-0.50\%$
test_getitem[tuple] 0.1459ms 24.4232μs 40.9447 KOps/s 40.9535 KOps/s $\color{#d91a1a}-0.02\%$
test_getitem[list] 0.1881ms 57.2549μs 17.4657 KOps/s 16.6850 KOps/s $\color{#35bf28}+4.68\%$
test_setitem_dim[int] 58.1520μs 25.6552μs 38.9785 KOps/s 37.8832 KOps/s $\color{#35bf28}+2.89\%$
test_setitem_dim[slice_int] 82.8620μs 42.4000μs 23.5849 KOps/s 22.7694 KOps/s $\color{#35bf28}+3.58\%$
test_setitem_dim[range] 0.1407ms 95.3087μs 10.4922 KOps/s 10.5990 KOps/s $\color{#d91a1a}-1.01\%$
test_setitem_dim[tuple] 0.1194ms 39.3867μs 25.3893 KOps/s 24.7762 KOps/s $\color{#35bf28}+2.47\%$
test_setitem 53.4410μs 17.4840μs 57.1951 KOps/s 57.9867 KOps/s $\color{#d91a1a}-1.37\%$
test_set 51.7410μs 16.7313μs 59.7682 KOps/s 58.5745 KOps/s $\color{#35bf28}+2.04\%$
test_set_shared 0.4933ms 0.1932ms 5.1757 KOps/s 5.1296 KOps/s $\color{#35bf28}+0.90\%$
test_update 0.4484ms 21.4517μs 46.6164 KOps/s 45.0368 KOps/s $\color{#35bf28}+3.51\%$
test_update_nested 78.8510μs 32.8117μs 30.4769 KOps/s 29.6300 KOps/s $\color{#35bf28}+2.86\%$
test_update__nested 0.4670ms 32.7343μs 30.5490 KOps/s 29.8713 KOps/s $\color{#35bf28}+2.27\%$
test_set_nested 52.4510μs 18.5974μs 53.7709 KOps/s 52.2700 KOps/s $\color{#35bf28}+2.87\%$
test_set_nested_new 75.7610μs 23.1372μs 43.2205 KOps/s 43.0124 KOps/s $\color{#35bf28}+0.48\%$
test_select 81.8520μs 39.6266μs 25.2356 KOps/s 25.3787 KOps/s $\color{#d91a1a}-0.56\%$
test_select_nested 0.1255ms 73.9276μs 13.5267 KOps/s 13.4763 KOps/s $\color{#35bf28}+0.37\%$
test_exclude_nested 0.1510ms 91.4435μs 10.9357 KOps/s 10.9885 KOps/s $\color{#d91a1a}-0.48\%$
test_empty[True] 0.4861ms 0.3947ms 2.5338 KOps/s 2.5375 KOps/s $\color{#d91a1a}-0.14\%$
test_empty[False] 19.6478μs 1.3760μs 726.7249 KOps/s 723.3782 KOps/s $\color{#35bf28}+0.46\%$
test_to 0.1110ms 70.0775μs 14.2699 KOps/s 14.4097 KOps/s $\color{#d91a1a}-0.97\%$
test_to_nonblocking 0.1194ms 69.1865μs 14.4537 KOps/s 14.7447 KOps/s $\color{#d91a1a}-1.97\%$
test_unbind_speed 0.4103ms 0.3409ms 2.9338 KOps/s 2.9665 KOps/s $\color{#d91a1a}-1.10\%$
test_unbind_speed_stack0 0.4918ms 0.3355ms 2.9810 KOps/s 3.0098 KOps/s $\color{#d91a1a}-0.96\%$
test_unbind_speed_stack1 0.1210s 0.8683ms 1.1517 KOps/s 1.1539 KOps/s $\color{#d91a1a}-0.19\%$
test_split 0.1200s 1.4565ms 686.5710 Ops/s 781.4031 Ops/s $\textbf{\color{#d91a1a}-12.14\%}$
test_chunk 1.2957ms 1.2365ms 808.7420 Ops/s 815.1397 Ops/s $\color{#d91a1a}-0.78\%$
test_to_cpu_blocking 19.9501ms 19.7533ms 50.6245 Ops/s 44.8973 Ops/s $\textbf{\color{#35bf28}+12.76\%}$
test_to_cpu_global_sync 11.8930ms 11.7666ms 84.9865 Ops/s 86.2266 Ops/s $\color{#d91a1a}-1.44\%$
test_to_cpu_event_sync 0.1329s 14.3454ms 69.7087 Ops/s 79.3927 Ops/s $\textbf{\color{#d91a1a}-12.20\%}$
test_to_cpu_default 13.1093ms 12.7904ms 78.1839 Ops/s 79.2387 Ops/s $\color{#d91a1a}-1.33\%$
test_consolidate[False-None] 4.3241ms 4.2290ms 236.4603 Ops/s 238.9583 Ops/s $\color{#d91a1a}-1.05\%$
test_consolidate[default-None] 3.2853ms 2.2652ms 441.4587 Ops/s 437.6441 Ops/s $\color{#35bf28}+0.87\%$
test_consolidate[reduce-overhead-None] 3.0720ms 2.1728ms 460.2260 Ops/s 450.7705 Ops/s $\color{#35bf28}+2.10\%$
test_consolidate_njt[False-None] 5.6151ms 5.2105ms 191.9197 Ops/s 190.7517 Ops/s $\color{#35bf28}+0.61\%$
test_to[False-False-None] 2.3434ms 2.2227ms 449.8975 Ops/s 450.4947 Ops/s $\color{#d91a1a}-0.13\%$
test_to[True-False-None] 2.2418ms 1.9522ms 512.2319 Ops/s 508.4968 Ops/s $\color{#35bf28}+0.73\%$
test_to[within-False-None] 6.5283ms 6.2923ms 158.9247 Ops/s 158.6177 Ops/s $\color{#35bf28}+0.19\%$
test_to[True-default-None] 10.7256ms 10.4066ms 96.0928 Ops/s 94.9965 Ops/s $\color{#35bf28}+1.15\%$
test_to_njt[False-False-None] 7.1604ms 7.0667ms 141.5097 Ops/s 140.9619 Ops/s $\color{#35bf28}+0.39\%$
test_to_njt[True-False-None] 4.1339ms 3.9566ms 252.7446 Ops/s 252.2936 Ops/s $\color{#35bf28}+0.18\%$
test_to_njt[within-False-None] 9.6165ms 9.2669ms 107.9107 Ops/s 108.8340 Ops/s $\color{#d91a1a}-0.85\%$
test_creation[device0] 0.3598ms 0.1109ms 9.0158 KOps/s 8.5794 KOps/s $\textbf{\color{#35bf28}+5.09\%}$
test_creation_from_tensor 0.5732ms 0.1090ms 9.1730 KOps/s 8.8314 KOps/s $\color{#35bf28}+3.87\%$
test_add_one[memmap_tensor0] 0.2467ms 6.1801μs 161.8086 KOps/s 159.6326 KOps/s $\color{#35bf28}+1.36\%$
test_contiguous[memmap_tensor0] 18.1010μs 0.7372μs 1.3564 MOps/s 1.8962 MOps/s $\textbf{\color{#d91a1a}-28.47\%}$
test_stack[memmap_tensor0] 0.1483ms 4.2459μs 235.5209 KOps/s 239.8726 KOps/s $\color{#d91a1a}-1.81\%$
test_memmaptd_index 1.3188ms 0.2847ms 3.5129 KOps/s 3.6175 KOps/s $\color{#d91a1a}-2.89\%$
test_memmaptd_index_astensor 0.5369ms 0.3892ms 2.5693 KOps/s 2.6199 KOps/s $\color{#d91a1a}-1.93\%$
test_memmaptd_index_op 0.8165ms 0.6292ms 1.5894 KOps/s 1.6111 KOps/s $\color{#d91a1a}-1.35\%$
test_serialize_model 0.1386s 0.1358s 7.3648 Ops/s 7.3838 Ops/s $\color{#d91a1a}-0.26\%$
test_serialize_model_archive 1.3501s 1.2437s 0.8040 Ops/s 0.8047 Ops/s $\color{#d91a1a}-0.09\%$
test_load_archive 18.8682ms 18.5898ms 53.7928 Ops/s 53.5301 Ops/s $\color{#35bf28}+0.49\%$
test_serialize_model_zarr 2.5003s 2.4937s 0.4010 Ops/s 0.4007 Ops/s $\color{#35bf28}+0.07\%$
test_load_zarr 0.4047s 0.3936s 2.5409 Ops/s 2.5772 Ops/s $\color{#d91a1a}-1.41\%$
test_serialize_model_pickle 1.4290s 1.2297s 0.8132 Ops/s 0.6968 Ops/s $\textbf{\color{#35bf28}+16.71\%}$
test_serialize_weights 0.1379s 0.1367s 7.3142 Ops/s 7.4326 Ops/s $\color{#d91a1a}-1.59\%$
test_serialize_weights_returnearly 45.4292ms 35.3269ms 28.3070 Ops/s 21.1609 Ops/s $\textbf{\color{#35bf28}+33.77\%}$
test_serialize_weights_pickle 1.3736s 1.2137s 0.8239 Ops/s 0.8059 Ops/s $\color{#35bf28}+2.23\%$
test_consolidate[few_large-0] 74.1458ms 7.8988ms 126.6012 Ops/s 135.5508 Ops/s $\textbf{\color{#d91a1a}-6.60\%}$
test_consolidate[few_large-8] 39.2716ms 7.0285ms 142.2781 Ops/s 144.8720 Ops/s $\color{#d91a1a}-1.79\%$
test_consolidate[many_small-0] 0.3151s 0.1436s 6.9634 Ops/s 8.1042 Ops/s $\textbf{\color{#d91a1a}-14.08\%}$
test_consolidate[many_small-8] 44.9303ms 40.9037ms 24.4477 Ops/s 24.7091 Ops/s $\color{#d91a1a}-1.06\%$
test_consolidate_to_file[few_large-0] 0.1294s 22.2704ms 44.9026 Ops/s 43.4987 Ops/s $\color{#35bf28}+3.23\%$
test_consolidate_to_file[few_large-8] 0.2493s 63.7301ms 15.6912 Ops/s 29.2192 Ops/s $\textbf{\color{#d91a1a}-46.30\%}$
test_consolidate_to_file[many_small-0] 1.0681s 0.8734s 1.1450 Ops/s 1.9660 Ops/s $\textbf{\color{#d91a1a}-41.76\%}$
test_consolidate_to_file[many_small-8] 0.8022s 0.7010s 1.4265 Ops/s 1.4441 Ops/s $\color{#d91a1a}-1.21\%$
test_reshape_pytree 0.1844ms 31.9480μs 31.3009 KOps/s 30.3973 KOps/s $\color{#35bf28}+2.97\%$
test_reshape_td 88.0510μs 45.4923μs 21.9817 KOps/s 22.5427 KOps/s $\color{#d91a1a}-2.49\%$
test_view_pytree 0.1913ms 31.3638μs 31.8839 KOps/s 31.6762 KOps/s $\color{#35bf28}+0.66\%$
test_view_td 0.1014ms 54.2646μs 18.4282 KOps/s 18.4389 KOps/s $\color{#d91a1a}-0.06\%$
test_unbind_pytree 0.2308ms 35.9641μs 27.8055 KOps/s 28.0039 KOps/s $\color{#d91a1a}-0.71\%$
test_unbind_td 0.2022ms 50.3795μs 19.8493 KOps/s 20.1623 KOps/s $\color{#d91a1a}-1.55\%$
test_split_pytree 0.1908ms 41.4992μs 24.0969 KOps/s 24.2673 KOps/s $\color{#d91a1a}-0.70\%$
test_split_td 0.1558ms 71.9909μs 13.8906 KOps/s 14.0098 KOps/s $\color{#d91a1a}-0.85\%$
test_add_pytree 0.2277ms 39.7240μs 25.1737 KOps/s 24.9959 KOps/s $\color{#35bf28}+0.71\%$
test_add_td 87.3320μs 52.8949μs 18.9054 KOps/s 18.8825 KOps/s $\color{#35bf28}+0.12\%$
test_compile_add_one_nested[tensordict-compile] 0.3962ms 0.2792ms 3.5813 KOps/s 3.5329 KOps/s $\color{#35bf28}+1.37\%$
test_compile_add_one_nested[tensordict-eager] 0.2679ms 0.2029ms 4.9290 KOps/s 4.8679 KOps/s $\color{#35bf28}+1.25\%$
test_compile_add_one_nested[pytree-compile] 0.4924ms 0.1561ms 6.4070 KOps/s 6.0443 KOps/s $\textbf{\color{#35bf28}+6.00\%}$
test_compile_add_one_nested[pytree-eager] 0.4948ms 0.1785ms 5.6019 KOps/s 5.6008 KOps/s $\color{#35bf28}+0.02\%$
test_compile_copy_nested[tensordict-compile] 79.4420μs 22.2632μs 44.9171 KOps/s 46.2243 KOps/s $\color{#d91a1a}-2.83\%$
test_compile_copy_nested[tensordict-eager] 0.4182ms 55.0274μs 18.1728 KOps/s 18.6281 KOps/s $\color{#d91a1a}-2.44\%$
test_compile_copy_nested[pytree-compile] 0.1784ms 18.7224μs 53.4121 KOps/s 49.7293 KOps/s $\textbf{\color{#35bf28}+7.41\%}$
test_compile_copy_nested[pytree-eager] 0.3500ms 66.8675μs 14.9550 KOps/s 15.1141 KOps/s $\color{#d91a1a}-1.05\%$
test_compile_add_one_flat[tensordict-compile] 0.4002ms 0.3105ms 3.2209 KOps/s 3.0151 KOps/s $\textbf{\color{#35bf28}+6.83\%}$
test_compile_add_one_flat[tensordict-eager] 0.3883ms 0.2920ms 3.4252 KOps/s 3.4081 KOps/s $\color{#35bf28}+0.50\%$
test_compile_add_one_flat[tensorclass-compile] 0.3727ms 0.2139ms 4.6759 KOps/s 4.3570 KOps/s $\textbf{\color{#35bf28}+7.32\%}$
test_compile_add_one_flat[tensorclass-eager] 0.1281ms 76.7193μs 13.0345 KOps/s 12.8146 KOps/s $\color{#35bf28}+1.72\%$
test_compile_add_one_flat[pytree-compile] 0.5527ms 0.2438ms 4.1020 KOps/s 3.9314 KOps/s $\color{#35bf28}+4.34\%$
test_compile_add_one_flat[pytree-eager] 0.8121ms 0.5338ms 1.8732 KOps/s 1.8665 KOps/s $\color{#35bf28}+0.36\%$
test_compile_add_self_flat[tensordict-eager] 0.5000ms 0.3408ms 2.9340 KOps/s 2.9092 KOps/s $\color{#35bf28}+0.85\%$
test_compile_add_self_flat[tensordict-compile] 0.4247ms 0.3114ms 3.2113 KOps/s 3.0304 KOps/s $\textbf{\color{#35bf28}+5.97\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1475ms 91.5245μs 10.9260 KOps/s 10.8151 KOps/s $\color{#35bf28}+1.03\%$
test_compile_add_self_flat[tensorclass-compile] 0.3759ms 0.2129ms 4.6976 KOps/s 4.2394 KOps/s $\textbf{\color{#35bf28}+10.81\%}$
test_compile_add_self_flat[pytree-eager] 0.2224s 0.5568ms 1.7961 KOps/s 2.2594 KOps/s $\textbf{\color{#d91a1a}-20.51\%}$
test_compile_add_self_flat[pytree-compile] 0.5908ms 0.2460ms 4.0656 KOps/s 3.9857 KOps/s $\color{#35bf28}+2.00\%$
test_compile_copy_flat[tensordict-compile] 75.4520μs 26.6816μs 37.4790 KOps/s 37.7737 KOps/s $\color{#d91a1a}-0.78\%$
test_compile_copy_flat[tensordict-eager] 77.3020μs 40.9952μs 24.3931 KOps/s 24.7748 KOps/s $\color{#d91a1a}-1.54\%$
test_compile_copy_flat[pytree-compile] 0.1255ms 25.0224μs 39.9641 KOps/s 36.9023 KOps/s $\textbf{\color{#35bf28}+8.30\%}$
test_compile_copy_flat[pytree-eager] 0.3222ms 51.5646μs 19.3932 KOps/s 19.4387 KOps/s $\color{#d91a1a}-0.23\%$
test_compile_assign_and_add[tensordict-compile] 2.0971ms 0.2571ms 3.8901 KOps/s 3.6475 KOps/s $\textbf{\color{#35bf28}+6.65\%}$
test_compile_assign_and_add[tensordict-eager] 3.5146ms 3.3850ms 295.4194 Ops/s 295.3315 Ops/s $\color{#35bf28}+0.03\%$
test_compile_assign_and_add[pytree-compile] 1.9503ms 0.1964ms 5.0919 KOps/s 4.9521 KOps/s $\color{#35bf28}+2.82\%$
test_compile_assign_and_add[pytree-eager] 3.0914ms 2.8221ms 354.3445 Ops/s 355.0633 Ops/s $\color{#d91a1a}-0.20\%$
test_compile_indexing[tensor-tensordict-compile] 0.2901ms 0.1610ms 6.2121 KOps/s 6.1953 KOps/s $\color{#35bf28}+0.27\%$
test_compile_indexing[tensor-tensordict-eager] 0.3793ms 75.4221μs 13.2587 KOps/s 13.5274 KOps/s $\color{#d91a1a}-1.99\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2892ms 0.1338ms 7.4758 KOps/s 7.2092 KOps/s $\color{#35bf28}+3.70\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2995ms 44.8343μs 22.3043 KOps/s 22.9810 KOps/s $\color{#d91a1a}-2.94\%$
test_compile_indexing[tensor-pytree-compile] 0.1808ms 0.1353ms 7.3926 KOps/s 7.1793 KOps/s $\color{#35bf28}+2.97\%$
test_compile_indexing[tensor-pytree-eager] 0.2408ms 45.2770μs 22.0863 KOps/s 22.8831 KOps/s $\color{#d91a1a}-3.48\%$
test_compile_indexing[slice-tensordict-compile] 0.2455ms 91.1809μs 10.9672 KOps/s 10.3421 KOps/s $\textbf{\color{#35bf28}+6.04\%}$
test_compile_indexing[slice-tensordict-eager] 0.2231ms 28.3291μs 35.2994 KOps/s 36.4726 KOps/s $\color{#d91a1a}-3.22\%$
test_compile_indexing[slice-tensorclass-compile] 0.2139ms 71.9093μs 13.9064 KOps/s 13.6394 KOps/s $\color{#35bf28}+1.96\%$
test_compile_indexing[slice-tensorclass-eager] 0.2499ms 22.0274μs 45.3980 KOps/s 45.2114 KOps/s $\color{#35bf28}+0.41\%$
test_compile_indexing[slice-pytree-compile] 0.1143ms 72.2181μs 13.8470 KOps/s 13.6694 KOps/s $\color{#35bf28}+1.30\%$
test_compile_indexing[slice-pytree-eager] 0.2537ms 21.9286μs 45.6026 KOps/s 45.8024 KOps/s $\color{#d91a1a}-0.44\%$
test_compile_indexing[int-tensordict-compile] 0.1403ms 93.0658μs 10.7451 KOps/s 10.3505 KOps/s $\color{#35bf28}+3.81\%$
test_compile_indexing[int-tensordict-eager] 0.2122ms 28.4030μs 35.2075 KOps/s 36.1395 KOps/s $\color{#d91a1a}-2.58\%$
test_compile_indexing[int-tensorclass-compile] 0.1130ms 72.2675μs 13.8375 KOps/s 13.2840 KOps/s $\color{#35bf28}+4.17\%$
test_compile_indexing[int-tensorclass-eager] 0.2501ms 22.0819μs 45.2860 KOps/s 45.3999 KOps/s $\color{#d91a1a}-0.25\%$
test_compile_indexing[int-pytree-compile] 0.1161ms 72.5606μs 13.7816 KOps/s 13.0846 KOps/s $\textbf{\color{#35bf28}+5.33\%}$
test_compile_indexing[int-pytree-eager] 0.2513ms 21.9793μs 45.4974 KOps/s 45.7129 KOps/s $\color{#d91a1a}-0.47\%$
test_compile_replace[single-eager] 0.2194ms 48.3098μs 20.6998 KOps/s 20.9497 KOps/s $\color{#d91a1a}-1.19\%$
test_compile_replace[single-compile] 0.2684ms 0.1520ms 6.5782 KOps/s 6.6396 KOps/s $\color{#d91a1a}-0.93\%$
test_compile_replace[multi-eager] 0.6596ms 0.5734ms 1.7440 KOps/s 1.7480 KOps/s $\color{#d91a1a}-0.23\%$
test_compile_replace[multi-compile] 0.3093ms 0.1589ms 6.2913 KOps/s 6.0826 KOps/s $\color{#35bf28}+3.43\%$
test_compile_tc_getattr_20[eager] 0.2251ms 0.1794ms 5.5730 KOps/s 5.6530 KOps/s $\color{#d91a1a}-1.41\%$
test_compile_tc_getattr_20[compile] 0.4155ms 0.1773ms 5.6389 KOps/s 5.5866 KOps/s $\color{#35bf28}+0.94\%$
test_compile_clone_shallow[20-eager] 54.3410μs 19.4018μs 51.5417 KOps/s 52.4237 KOps/s $\color{#d91a1a}-1.68\%$
test_compile_clone_shallow[20-compile] 79.2110μs 23.7310μs 42.1390 KOps/s 40.4357 KOps/s $\color{#35bf28}+4.21\%$
test_compile_clone_shallow[40-eager] 62.3310μs 33.9513μs 29.4540 KOps/s 29.9434 KOps/s $\color{#d91a1a}-1.63\%$
test_compile_clone_shallow[40-compile] 93.8420μs 25.5104μs 39.1997 KOps/s 38.6098 KOps/s $\color{#35bf28}+1.53\%$
test_compile_clone_shallow[80-eager] 99.9820μs 62.3995μs 16.0258 KOps/s 16.1655 KOps/s $\color{#d91a1a}-0.86\%$
test_compile_clone_shallow[80-compile] 71.8720μs 28.7739μs 34.7537 KOps/s 32.7152 KOps/s $\textbf{\color{#35bf28}+6.23\%}$
test_compile_update_inplace[eager] 0.1005ms 61.9930μs 16.1309 KOps/s 16.1515 KOps/s $\color{#d91a1a}-0.13\%$
test_compile_update_inplace[compile] 0.3285ms 0.1226ms 8.1569 KOps/s 7.7556 KOps/s $\textbf{\color{#35bf28}+5.17\%}$
test_mod_add[eager] 0.2808ms 0.2266ms 4.4132 KOps/s 4.3856 KOps/s $\color{#35bf28}+0.63\%$
test_mod_add[compile] 0.3563ms 0.1205ms 8.2989 KOps/s 8.0147 KOps/s $\color{#35bf28}+3.55\%$
test_mod_add[compile-overhead] 0.2828ms 0.1993ms 5.0175 KOps/s 4.9310 KOps/s $\color{#35bf28}+1.76\%$
test_mod_wrap[eager] 0.5502ms 0.4723ms 2.1174 KOps/s 2.0754 KOps/s $\color{#35bf28}+2.02\%$
test_mod_wrap[compile] 0.4443ms 0.3656ms 2.7349 KOps/s 2.8507 KOps/s $\color{#d91a1a}-4.06\%$
test_mod_wrap[compile-overhead] 9.2635ms 3.8440ms 260.1460 Ops/s 250.8724 Ops/s $\color{#35bf28}+3.70\%$
test_mod_wrap_and_backward[eager] 1.8122ms 1.6690ms 599.1501 Ops/s 597.0463 Ops/s $\color{#35bf28}+0.35\%$
test_mod_wrap_and_backward[compile] 1.9008ms 1.3594ms 735.6194 Ops/s 740.4592 Ops/s $\color{#d91a1a}-0.65\%$
test_mod_wrap_and_backward[compile-overhead] 1.5924ms 0.9635ms 1.0379 KOps/s 1.0212 KOps/s $\color{#35bf28}+1.63\%$
test_seq_add[eager] 0.6140ms 0.5144ms 1.9439 KOps/s 1.9578 KOps/s $\color{#d91a1a}-0.71\%$
test_seq_add[compile] 0.2010ms 0.1420ms 7.0405 KOps/s 7.1855 KOps/s $\color{#d91a1a}-2.02\%$
test_seq_add[compile-overhead] 0.3033ms 0.2145ms 4.6628 KOps/s 4.6795 KOps/s $\color{#d91a1a}-0.36\%$
test_seq_wrap[eager] 1.5878ms 1.4317ms 698.4754 Ops/s 699.9375 Ops/s $\color{#d91a1a}-0.21\%$
test_seq_wrap[compile] 0.4463ms 0.3828ms 2.6125 KOps/s 2.6307 KOps/s $\color{#d91a1a}-0.69\%$
test_seq_wrap[compile-overhead] 0.4584ms 0.3278ms 3.0508 KOps/s 3.0128 KOps/s $\color{#35bf28}+1.26\%$
test_func_call_runtime[False-eager] 0.9390ms 0.8560ms 1.1682 KOps/s 1.2087 KOps/s $\color{#d91a1a}-3.35\%$
test_func_call_runtime[False-compile] 0.8853ms 0.7674ms 1.3031 KOps/s 1.3149 KOps/s $\color{#d91a1a}-0.90\%$
test_func_call_runtime[False-compile-overhead] 0.6771ms 0.5130ms 1.9494 KOps/s 1.9322 KOps/s $\color{#35bf28}+0.89\%$
test_func_call_runtime[True-eager] 1.2292ms 1.0874ms 919.6070 Ops/s 937.2170 Ops/s $\color{#d91a1a}-1.88\%$
test_func_call_runtime[True-compile] 0.8685ms 0.7800ms 1.2821 KOps/s 1.2636 KOps/s $\color{#35bf28}+1.46\%$
test_func_call_runtime[True-compile-overhead] 0.7072ms 0.5328ms 1.8768 KOps/s 1.8557 KOps/s $\color{#35bf28}+1.14\%$
test_func_call_cm_runtime[False-eager] 0.9511ms 0.8462ms 1.1818 KOps/s 1.1823 KOps/s $\color{#d91a1a}-0.05\%$
test_func_call_cm_runtime[False-compile] 0.9179ms 0.7481ms 1.3367 KOps/s 1.3406 KOps/s $\color{#d91a1a}-0.29\%$
test_func_call_cm_runtime[False-compile-overhead] 0.5726ms 0.4910ms 2.0367 KOps/s 1.9959 KOps/s $\color{#35bf28}+2.05\%$
test_func_call_cm_runtime[True-eager] 1.3083ms 1.2165ms 822.0115 Ops/s 823.5168 Ops/s $\color{#d91a1a}-0.18\%$
test_func_call_cm_runtime[True-compile] 0.9803ms 0.8670ms 1.1534 KOps/s 1.1554 KOps/s $\color{#d91a1a}-0.18\%$
test_func_call_cm_runtime[True-compile-overhead] 1.1669ms 0.8881ms 1.1260 KOps/s 1.1193 KOps/s $\color{#35bf28}+0.60\%$
test_vmap_func_call_cm_runtime[eager] 3.3129ms 2.6869ms 372.1757 Ops/s 373.8127 Ops/s $\color{#d91a1a}-0.44\%$
test_vmap_func_call_cm_runtime[compile] 4.2577ms 3.7095ms 269.5781 Ops/s 270.2059 Ops/s $\color{#d91a1a}-0.23\%$
test_vmap_func_call_cm_runtime[compile-overhead] 4.1719ms 3.6918ms 270.8689 Ops/s 269.9332 Ops/s $\color{#35bf28}+0.35\%$
test_distributed 0.7498ms 0.1415ms 7.0675 KOps/s 7.0827 KOps/s $\color{#d91a1a}-0.21\%$
test_tdmodule 0.5962ms 0.1960ms 5.1026 KOps/s 5.1426 KOps/s $\color{#d91a1a}-0.78\%$
test_tdmodule_dispatch 0.4698ms 0.3778ms 2.6472 KOps/s 2.6668 KOps/s $\color{#d91a1a}-0.73\%$
test_tdseq 36.4110μs 26.7502μs 37.3829 KOps/s 36.8743 KOps/s $\color{#35bf28}+1.38\%$
test_tdseq_dispatch 0.2520ms 0.2209ms 4.5267 KOps/s 4.5454 KOps/s $\color{#d91a1a}-0.41\%$
test_instantiation_functorch 2.8293ms 2.7144ms 368.4064 Ops/s 375.4837 Ops/s $\color{#d91a1a}-1.88\%$
test_exec_functorch 0.2403ms 0.1950ms 5.1283 KOps/s 5.0659 KOps/s $\color{#35bf28}+1.23\%$
test_exec_functional_call 0.2212ms 0.1554ms 6.4364 KOps/s 6.3848 KOps/s $\color{#35bf28}+0.81\%$
test_exec_td_decorator 0.5154ms 0.2460ms 4.0655 KOps/s 4.0535 KOps/s $\color{#35bf28}+0.29\%$
test_vmap_mlp_speed_decorator[True-True] 1.3275ms 1.1230ms 890.4476 Ops/s 887.5729 Ops/s $\color{#35bf28}+0.32\%$
test_vmap_mlp_speed_decorator[True-False] 1.3336ms 1.1158ms 896.1986 Ops/s 891.3837 Ops/s $\color{#35bf28}+0.54\%$
test_vmap_mlp_speed_decorator[False-True] 1.0481ms 0.8198ms 1.2199 KOps/s 1.2168 KOps/s $\color{#35bf28}+0.26\%$
test_vmap_mlp_speed_decorator[False-False] 1.0130ms 0.8168ms 1.2242 KOps/s 1.2193 KOps/s $\color{#35bf28}+0.41\%$
test_vmap_transformer_speed_decorator[True-True] 26.8878ms 24.9287ms 40.1145 Ops/s 39.8214 Ops/s $\color{#35bf28}+0.74\%$
test_vmap_transformer_speed_decorator[True-False] 25.7241ms 24.8602ms 40.2249 Ops/s 40.0715 Ops/s $\color{#35bf28}+0.38\%$
test_vmap_transformer_speed_decorator[False-True] 25.3135ms 24.5181ms 40.7862 Ops/s 40.6006 Ops/s $\color{#35bf28}+0.46\%$
test_vmap_transformer_speed_decorator[False-False] 24.6614ms 24.4012ms 40.9817 Ops/s 40.7317 Ops/s $\color{#35bf28}+0.61\%$
test_to_module_speed[True] 2.3359ms 1.6692ms 599.0871 Ops/s 599.5445 Ops/s $\color{#d91a1a}-0.08\%$
test_to_module_speed[False] 2.2414ms 1.6250ms 615.3814 Ops/s 611.6304 Ops/s $\color{#35bf28}+0.61\%$
test_to_module_plain_tensor_speed[None] 2.3350ms 1.7244ms 579.9216 Ops/s 576.5089 Ops/s $\color{#35bf28}+0.59\%$
test_to_module_plain_tensor_speed[False] 2.1577ms 1.5578ms 641.9418 Ops/s 633.0975 Ops/s $\color{#35bf28}+1.40\%$
test_to_module_plain_tensor_speed[True] 3.4717ms 3.3911ms 294.8861 Ops/s 292.9742 Ops/s $\color{#35bf28}+0.65\%$
test_tc_init 74.2720μs 43.2221μs 23.1363 KOps/s 22.2463 KOps/s $\color{#35bf28}+4.00\%$
test_tc_init_tensor_only 56.9010μs 9.5672μs 104.5241 KOps/s 105.6778 KOps/s $\color{#d91a1a}-1.09\%$
test_tc_init_nested 0.1293ms 86.4344μs 11.5695 KOps/s 11.3162 KOps/s $\color{#35bf28}+2.24\%$
test_tc_init_many_fields 53.6410μs 17.2092μs 58.1084 KOps/s 58.3130 KOps/s $\color{#d91a1a}-0.35\%$
test_tc_first_layer_tensor 37.5110μs 1.7830μs 560.8648 KOps/s 558.5944 KOps/s $\color{#35bf28}+0.41\%$
test_tc_first_layer_tensor_only 3.1809μs 0.4060μs 2.4631 MOps/s 2.4207 MOps/s $\color{#35bf28}+1.75\%$
test_tc_first_layer_tensor_set 43.7410μs 4.1930μs 238.4913 KOps/s 231.8613 KOps/s $\color{#35bf28}+2.86\%$
test_tc_first_layer_tensor_only_set 44.9310μs 3.4760μs 287.6858 KOps/s 287.9881 KOps/s $\color{#d91a1a}-0.10\%$
test_tc_first_layer_nontensor 53.8020μs 5.7752μs 173.1552 KOps/s 163.7121 KOps/s $\textbf{\color{#35bf28}+5.77\%}$
test_tc_second_layer_tensor 27.0310μs 4.3331μs 230.7822 KOps/s 230.1928 KOps/s $\color{#35bf28}+0.26\%$
test_tc_second_layer_nontensor 30.8110μs 8.5332μs 117.1895 KOps/s 115.9292 KOps/s $\color{#35bf28}+1.09\%$
test_unbind 0.2958s 14.1411ms 70.7157 Ops/s 64.7901 Ops/s $\textbf{\color{#35bf28}+9.15\%}$
test_full_like 4.9259ms 4.5803ms 218.3282 Ops/s 215.6022 Ops/s $\color{#35bf28}+1.26\%$
test_zeros_like 4.7595ms 4.6496ms 215.0728 Ops/s 215.8860 Ops/s $\color{#d91a1a}-0.38\%$
test_ones_like 4.7461ms 4.6305ms 215.9610 Ops/s 215.2317 Ops/s $\color{#35bf28}+0.34\%$
test_clone 7.0102ms 6.8018ms 147.0203 Ops/s 146.2780 Ops/s $\color{#35bf28}+0.51\%$
test_squeeze 0.1769ms 14.0722μs 71.0622 KOps/s 65.6888 KOps/s $\textbf{\color{#35bf28}+8.18\%}$
test_unsqueeze 0.1668ms 0.1127ms 8.8738 KOps/s 8.6569 KOps/s $\color{#35bf28}+2.51\%$
test_split 0.4253ms 0.1899ms 5.2671 KOps/s 5.2548 KOps/s $\color{#35bf28}+0.23\%$
test_permute 0.2607ms 0.1982ms 5.0448 KOps/s 5.1371 KOps/s $\color{#d91a1a}-1.80\%$
test_stack 19.3638ms 19.1928ms 52.1029 Ops/s 52.1832 Ops/s $\color{#d91a1a}-0.15\%$
test_cat 19.4467ms 19.1531ms 52.2109 Ops/s 52.2590 Ops/s $\color{#d91a1a}-0.09\%$
test_sequential_tensordict 1.0634ms 0.9263ms 1.0796 KOps/s 1.1184 KOps/s $\color{#d91a1a}-3.47\%$
test_sequential_graph_module 0.5229ms 0.4454ms 2.2451 KOps/s 2.1964 KOps/s $\color{#35bf28}+2.22\%$
test_nested_tensordict 1.7125ms 1.2592ms 794.1338 Ops/s 789.7551 Ops/s $\color{#35bf28}+0.55\%$
test_nested_graph_module 0.7401ms 0.5281ms 1.8934 KOps/s 1.8030 KOps/s $\textbf{\color{#35bf28}+5.01\%}$

@vmoens
vmoens merged commit c784065 into main Aug 5, 2026
73 of 74 checks passed
@vmoens
vmoens deleted the fix-persistent-nested-kwargs branch August 5, 2026 09:48
negin513 added a commit to negin513/modulus that referenced this pull request Aug 7, 2026
…, fixture-generated format contract

- Remove _propagate_nested_create_kwargs: fixed upstream in
  pytorch/tensordict#1759 (merge is gated on the tensordict pin, which
  will include it).
- tensordict imported at module top (core dependency); drop the runtime
  backend checks for the same reason.
- Replace the committed golden store with a session-fixture store plus
  explicit on-disk contract assertions (group paths, attrs, dtypes,
  chunking, codecs) -- format drift still fails a test, without binary
  files in the repo.
negin513 added a commit to daviddpruitt/physicsnemo that referenced this pull request Aug 11, 2026
…s zarr backend (NVIDIA#1894)

* feat(mesh/io): zarr save/load for Mesh and DomainMesh via tensordict backend

Delegates all serialization to tensordict's upstream zarr storage backend
(to_zarr/from_zarr, pytorch/tensordict#1754) and adds only what tensordict
cannot know: chunk/compression policy aligned to training subsample sizes,
and a root attr recording the mesh type so from_zarr can rebuild
Mesh/DomainMesh from the plain PersistentTensorDict the backend returns.

MeshReader/DomainMeshReader route zarr groups (zarr.json present) to
mesh.io.from_zarr; everything else in the dataloader path is unchanged.

Includes a scoped workaround for a tensordict bug where to_zarr
chunks/compressors kwargs are silently dropped for nested leaves.

* Address review: nested trees, recursive glob, zarr subsample push-down, tests

- from_zarr: recursive _read_tree returning TensorDict, so nested
  TensorDict fields round-trip (review); shared by eager and windowed reads.
- Readers: restore recursive '**' discovery (glob.glob recursive=True).
- Subsample push-down for zarr stores: with subsample_n_cells/points set,
  readers fetch only the selected window (contiguous row-runs; cell meshes
  gather referenced points and compose measure weights) instead of
  materializing the full mesh. Bitwise-identical to eager load + in-memory
  subsample under the same seed.
- test/mesh/io/io_zarr: round-trip, nested fields, point clouds, subgroup
  loads, layout policy on nested leaves, reader routing, push-down
  equivalence, mixed-format discovery, plus a committed golden store
  guarding on-disk format stability.
- CHANGELOG entries for the feature and the glob fix.

* Cache zarr store handles in readers; consolidate metadata on write

Cold-metadata cost fix: readers re-opened each case's store per draw,
walking the group-metadata chain -- on Lustre every uncached lookup is a
metadata-server round-trip, so the first epochs on a metadata-cold client
paid it per sample per epoch. Handles are now cached per reader (opened
once per case), and to_zarr consolidates metadata so the one remaining
open costs a single read instead of one per group.

* Address review: drop upstream workaround, top-level tensordict import, fixture-generated format contract

- Remove _propagate_nested_create_kwargs: fixed upstream in
  pytorch/tensordict#1759 (merge is gated on the tensordict pin, which
  will include it).
- tensordict imported at module top (core dependency); drop the runtime
  backend checks for the same reason.
- Replace the committed golden store with a session-fixture store plus
  explicit on-disk contract assertions (group paths, attrs, dtypes,
  chunking, codecs) -- format drift still fails a test, without binary
  files in the repo.
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. persistent PersistentTensorDict / HDF5 Test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

to_zarr silently drops chunks/compressors for nested leaves

1 participant