Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Lock check decorator #440

Merged
merged 2 commits into from
Jun 20, 2023
Merged

[Feature] Lock check decorator #440

merged 2 commits into from
Jun 20, 2023

Conversation

vmoens
Copy link
Contributor

@vmoens vmoens commented Jun 20, 2023

No description provided.

@facebook-github-bot facebook-github-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 Jun 20, 2023
@vmoens vmoens added the enhancement New feature or request label Jun 20, 2023
@vmoens vmoens merged commit fd859b4 into main Jun 20, 2023
@vmoens vmoens deleted the lock_dec branch June 20, 2023 16:05
@github-actions
Copy link

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

Total Benchmarks: 92. Improved: $\large\color{#35bf28}4$. Worsened: $\large\color{#d91a1a}1$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_items 10.0010μs 2.4642μs 405.8191 KOps/s 408.7596 KOps/s $\color{#d91a1a}-0.72\%$
test_items_nested 1.2956ms 0.5493ms 1.8204 KOps/s 1.8538 KOps/s $\color{#d91a1a}-1.80\%$
test_items_nested_locked 0.6843ms 0.5475ms 1.8264 KOps/s 1.8451 KOps/s $\color{#d91a1a}-1.01\%$
test_items_nested_leaf 0.4459ms 0.3210ms 3.1150 KOps/s 3.1634 KOps/s $\color{#d91a1a}-1.53\%$
test_items_stack_nested 33.8692ms 30.0091ms 33.3232 Ops/s 33.3318 Ops/s $\color{#d91a1a}-0.03\%$
test_items_stack_nested_leaf 76.2451ms 16.4356ms 60.8436 Ops/s 60.9007 Ops/s $\color{#d91a1a}-0.09\%$
test_items_stack_nested_locked 82.0913ms 68.1890ms 14.6651 Ops/s 14.8441 Ops/s $\color{#d91a1a}-1.21\%$
test_keys 21.9000μs 5.5190μs 181.1929 KOps/s 181.2757 KOps/s $\color{#d91a1a}-0.05\%$
test_keys_nested 0.3332ms 0.2002ms 4.9944 KOps/s 5.0211 KOps/s $\color{#d91a1a}-0.53\%$
test_keys_nested_locked 0.2298ms 0.1974ms 5.0649 KOps/s 5.0126 KOps/s $\color{#35bf28}+1.04\%$
test_keys_nested_leaf 0.3408ms 0.1957ms 5.1099 KOps/s 5.0914 KOps/s $\color{#35bf28}+0.36\%$
test_keys_stack_nested 3.9314ms 2.0789ms 481.0281 Ops/s 488.0600 Ops/s $\color{#d91a1a}-1.44\%$
test_keys_stack_nested_leaf 2.2432ms 2.0717ms 482.6926 Ops/s 490.1833 Ops/s $\color{#d91a1a}-1.53\%$
test_keys_stack_nested_locked 3.9204ms 3.4234ms 292.1097 Ops/s 287.9188 Ops/s $\color{#35bf28}+1.46\%$
test_values 12.7000μs 1.4648μs 682.6787 KOps/s 649.8072 KOps/s $\textbf{\color{#35bf28}+5.06\%}$
test_values_nested 0.5834ms 0.5261ms 1.9008 KOps/s 1.8567 KOps/s $\color{#35bf28}+2.38\%$
test_values_nested_locked 0.6255ms 0.5372ms 1.8616 KOps/s 1.8587 KOps/s $\color{#35bf28}+0.15\%$
test_values_nested_leaf 0.3841ms 0.3072ms 3.2551 KOps/s 3.1971 KOps/s $\color{#35bf28}+1.82\%$
test_values_stack_nested 30.0033ms 28.8089ms 34.7115 Ops/s 33.5212 Ops/s $\color{#35bf28}+3.55\%$
test_values_stack_nested_leaf 16.7311ms 16.0172ms 62.4330 Ops/s 61.5142 Ops/s $\color{#35bf28}+1.49\%$
test_values_stack_nested_locked 75.6649ms 66.1673ms 15.1132 Ops/s 15.0087 Ops/s $\color{#35bf28}+0.70\%$
test_membership 10.4000μs 2.0419μs 489.7344 KOps/s 480.9033 KOps/s $\color{#35bf28}+1.84\%$
test_membership_nested 31.9010μs 3.3937μs 294.6596 KOps/s 295.2787 KOps/s $\color{#d91a1a}-0.21\%$
test_membership_nested_leaf 9.5000μs 3.2939μs 303.5876 KOps/s 301.5558 KOps/s $\color{#35bf28}+0.67\%$
test_membership_stacked_nested 10.4000μs 1.9970μs 500.7454 KOps/s 512.2387 KOps/s $\color{#d91a1a}-2.24\%$
test_membership_stacked_nested_leaf 9.2000μs 2.0953μs 477.2532 KOps/s 492.8475 KOps/s $\color{#d91a1a}-3.16\%$
test_stacked_getleaf 1.5339ms 1.4080ms 710.2056 Ops/s 713.9280 Ops/s $\color{#d91a1a}-0.52\%$
test_stacked_get 1.4685ms 1.3423ms 745.0021 Ops/s 746.2096 Ops/s $\color{#d91a1a}-0.16\%$
test_lock_nested 1.0882ms 0.9950ms 1.0050 KOps/s 1.0022 KOps/s $\color{#35bf28}+0.28\%$
test_lock_stack_nested 13.0606ms 10.8925ms 91.8060 Ops/s 69.4595 Ops/s $\textbf{\color{#35bf28}+32.17\%}$
test_unlock_nested 1.1497ms 0.9962ms 1.0038 KOps/s 1.0013 KOps/s $\color{#35bf28}+0.25\%$
test_unlock_stack_nested 83.4310ms 14.8101ms 67.5214 Ops/s 67.1295 Ops/s $\color{#35bf28}+0.58\%$
test_flatten_speed 1.1561ms 1.0737ms 931.3314 Ops/s 946.2100 Ops/s $\color{#d91a1a}-1.57\%$
test_unflatten_speed 2.1994ms 1.8451ms 541.9678 Ops/s 555.3152 Ops/s $\color{#d91a1a}-2.40\%$
test_common_ops 1.2502ms 1.1959ms 836.1610 Ops/s 835.8199 Ops/s $\color{#35bf28}+0.04\%$
test_creation 6.1241μs 5.7434μs 174.1133 KOps/s 172.7446 KOps/s $\color{#35bf28}+0.79\%$
test_creation_empty 14.7132μs 13.9841μs 71.5100 KOps/s 72.8051 KOps/s $\color{#d91a1a}-1.78\%$
test_creation_nested_1 26.9784μs 25.7083μs 38.8979 KOps/s 39.6890 KOps/s $\color{#d91a1a}-1.99\%$
test_creation_nested_2 28.2044μs 26.8454μs 37.2503 KOps/s 37.6075 KOps/s $\color{#d91a1a}-0.95\%$
test_clone 27.9014μs 25.3116μs 39.5076 KOps/s 39.1845 KOps/s $\color{#35bf28}+0.82\%$
test_getitem[int] 32.1992μs 31.0462μs 32.2100 KOps/s 31.5328 KOps/s $\color{#35bf28}+2.15\%$
test_getitem[slice_int] 70.6503μs 69.8131μs 14.3240 KOps/s 14.1424 KOps/s $\color{#35bf28}+1.28\%$
test_getitem[range] 76.9923μs 71.1964μs 14.0457 KOps/s 14.0029 KOps/s $\color{#35bf28}+0.31\%$
test_getitem[tuple] 71.7187μs 64.4545μs 15.5148 KOps/s 15.3301 KOps/s $\color{#35bf28}+1.21\%$
test_getitem[list] 68.5584μs 61.2999μs 16.3133 KOps/s 15.9699 KOps/s $\color{#35bf28}+2.15\%$
test_setitem_dim[int] 96.4010μs 49.6969μs 20.1220 KOps/s 20.7241 KOps/s $\color{#d91a1a}-2.91\%$
test_setitem_dim[slice_int] 0.1551ms 93.1910μs 10.7306 KOps/s 10.6150 KOps/s $\color{#35bf28}+1.09\%$
test_setitem_dim[range] 0.1849ms 87.2961μs 11.4553 KOps/s 11.6290 KOps/s $\color{#d91a1a}-1.49\%$
test_setitem_dim[tuple] 0.1718ms 84.6322μs 11.8158 KOps/s 11.8948 KOps/s $\color{#d91a1a}-0.66\%$
test_setitem 33.4553μs 31.9834μs 31.2663 KOps/s 31.7871 KOps/s $\color{#d91a1a}-1.64\%$
test_set 32.7653μs 31.4230μs 31.8239 KOps/s 32.2389 KOps/s $\color{#d91a1a}-1.29\%$
test_set_shared 0.1935ms 0.1881ms 5.3167 KOps/s 5.2893 KOps/s $\color{#35bf28}+0.52\%$
test_update 35.9454μs 34.3847μs 29.0827 KOps/s 28.6101 KOps/s $\color{#35bf28}+1.65\%$
test_update_nested 53.0345μs 51.4947μs 19.4195 KOps/s 19.3907 KOps/s $\color{#35bf28}+0.15\%$
test_set_nested 44.8695μs 43.3758μs 23.0543 KOps/s 23.3720 KOps/s $\color{#d91a1a}-1.36\%$
test_set_nested_new 64.7227μs 63.0095μs 15.8706 KOps/s 15.9348 KOps/s $\color{#d91a1a}-0.40\%$
test_select 0.1148ms 0.1060ms 9.4324 KOps/s 9.4563 KOps/s $\color{#d91a1a}-0.25\%$
test_creation[device0] 1.3939ms 0.5689ms 1.7579 KOps/s 1.7349 KOps/s $\color{#35bf28}+1.33\%$
test_creation_from_tensor 0.6600ms 0.5418ms 1.8455 KOps/s 1.8260 KOps/s $\color{#35bf28}+1.07\%$
test_add_one[memmap_tensor0] 38.4924μs 35.8960μs 27.8583 KOps/s 27.3278 KOps/s $\color{#35bf28}+1.94\%$
test_contiguous[memmap_tensor0] 9.6711μs 9.2749μs 107.8183 KOps/s 103.0739 KOps/s $\color{#35bf28}+4.60\%$
test_stack[memmap_tensor0] 0.1473ms 44.2505μs 22.5986 KOps/s 21.6962 KOps/s $\color{#35bf28}+4.16\%$
test_memmaptd_index 0.3921ms 0.2815ms 3.5530 KOps/s 3.5522 KOps/s $\color{#35bf28}+0.02\%$
test_memmaptd_index_astensor 1.6936ms 1.1661ms 857.5758 Ops/s 866.4997 Ops/s $\color{#d91a1a}-1.03\%$
test_memmaptd_index_op 3.0615ms 2.5630ms 390.1662 Ops/s 388.5456 Ops/s $\color{#35bf28}+0.42\%$
test_reshape_pytree 43.5835μs 40.8559μs 24.4763 KOps/s 24.3724 KOps/s $\color{#35bf28}+0.43\%$
test_reshape_td 50.1335μs 47.5531μs 21.0291 KOps/s 20.7386 KOps/s $\color{#35bf28}+1.40\%$
test_view_pytree 39.2334μs 37.8957μs 26.3882 KOps/s 25.9491 KOps/s $\color{#35bf28}+1.69\%$
test_view_td 11.8001μs 10.7277μs 93.2168 KOps/s 94.6791 KOps/s $\color{#d91a1a}-1.54\%$
test_unbind_pytree 44.2255μs 42.4995μs 23.5297 KOps/s 23.6023 KOps/s $\color{#d91a1a}-0.31\%$
test_unbind_td 0.1487ms 0.1457ms 6.8653 KOps/s 6.9525 KOps/s $\color{#d91a1a}-1.25\%$
test_split_pytree 49.9705μs 47.8620μs 20.8934 KOps/s 20.5770 KOps/s $\color{#35bf28}+1.54\%$
test_split_td 0.1311ms 0.1213ms 8.2435 KOps/s 8.1464 KOps/s $\color{#35bf28}+1.19\%$
test_add_pytree 54.4256μs 52.1067μs 19.1914 KOps/s 19.3874 KOps/s $\color{#d91a1a}-1.01\%$
test_add_td 65.9447μs 63.9736μs 15.6315 KOps/s 16.0574 KOps/s $\color{#d91a1a}-2.65\%$
test_distributed 68.5010μs 68.5010μs 14.5983 KOps/s 9.7559 KOps/s $\textbf{\color{#35bf28}+49.64\%}$
test_tdmodule 0.3641ms 29.1800μs 34.2701 KOps/s 36.6399 KOps/s $\textbf{\color{#d91a1a}-6.47\%}$
test_tdmodule_dispatch 0.3049ms 64.3965μs 15.5288 KOps/s 15.8666 KOps/s $\color{#d91a1a}-2.13\%$
test_tdseq 0.1009ms 35.4587μs 28.2018 KOps/s 28.5691 KOps/s $\color{#d91a1a}-1.29\%$
test_tdseq_dispatch 0.5912ms 76.4279μs 13.0842 KOps/s 13.1252 KOps/s $\color{#d91a1a}-0.31\%$
test_instantiation_functorch 1.9102ms 1.8345ms 545.1091 Ops/s 537.5785 Ops/s $\color{#35bf28}+1.40\%$
test_instantiation_td 1.4830ms 1.4230ms 702.7508 Ops/s 697.1754 Ops/s $\color{#35bf28}+0.80\%$
test_exec_functorch 0.2148ms 0.2109ms 4.7411 KOps/s 4.7673 KOps/s $\color{#d91a1a}-0.55\%$
test_exec_td 0.2054ms 0.1993ms 5.0175 KOps/s 5.1019 KOps/s $\color{#d91a1a}-1.65\%$
test_vmap_mlp_speed[True-True] 1.7943ms 1.7111ms 584.4139 Ops/s 562.1414 Ops/s $\color{#35bf28}+3.96\%$
test_vmap_mlp_speed[True-False] 0.8713ms 0.7766ms 1.2877 KOps/s 1.2614 KOps/s $\color{#35bf28}+2.09\%$
test_vmap_mlp_speed[False-True] 1.5330ms 1.4858ms 673.0598 Ops/s 661.0741 Ops/s $\color{#35bf28}+1.81\%$
test_vmap_mlp_speed[False-False] 0.7251ms 0.6636ms 1.5070 KOps/s 1.4326 KOps/s $\textbf{\color{#35bf28}+5.19\%}$
test_vmap_transformer_speed[True-True] 24.1587ms 21.8539ms 45.7584 Ops/s 45.9134 Ops/s $\color{#d91a1a}-0.34\%$
test_vmap_transformer_speed[True-False] 12.3294ms 10.8867ms 91.8551 Ops/s 95.5862 Ops/s $\color{#d91a1a}-3.90\%$
test_vmap_transformer_speed[False-True] 22.1031ms 20.0442ms 49.8898 Ops/s 51.0616 Ops/s $\color{#d91a1a}-2.29\%$
test_vmap_transformer_speed[False-False] 11.7962ms 11.0859ms 90.2049 Ops/s 94.4355 Ops/s $\color{#d91a1a}-4.48\%$

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. enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants