# Compute Units All notable changes in compute units usage will be documented in this file. The changes are calculated by comparing the current results with the last version's results. Increase in usage is shown with 🔴 and decrease is shown with 🟢. The programs and their tests are located in [/tests/bench](https://github.com/coral-xyz/anchor/tree/master/tests/bench). > **Note** > Results documented in this file are autogenerated. Running the tests will update the current results when necessary, manually editing the results should be avoided. > **Warning** > Results may vary depending on Solana version. ## [Unreleased] Solana version: 1.17.0 | Instruction | Compute Units | +/- | | --------------------------- | ------------- | ---------------------- | | accountInfo1 | 584 | 🟢 **-431 (42.46%)** | | accountInfo2 | 824 | 🟢 **-651 (44.14%)** | | accountInfo4 | 1,319 | 🟢 **-645 (32.84%)** | | accountInfo8 | 2,531 | 🟢 **-1,310 (34.11%)** | | accountEmptyInit1 | 5,099 | 🟢 **-718 (12.34%)** | | accountEmpty1 | 708 | 🟢 **-441 (38.38%)** | | accountEmptyInit2 | 9,676 | 🟢 **-726 (6.98%)** | | accountEmpty2 | 1,064 | 🟢 **-690 (39.34%)** | | accountEmptyInit4 | 18,477 | 🟢 **-1,031 (5.29%)** | | accountEmpty4 | 1,766 | 🟢 **-774 (30.47%)** | | accountEmptyInit8 | 36,113 | 🟢 **-1,152 (3.09%)** | | accountEmpty8 | 3,179 | 🟢 **-1,837 (36.62%)** | | accountSizedInit1 | 5,187 | 🟢 **-737 (12.44%)** | | accountSized1 | 732 | 🟢 **-482 (39.70%)** | | accountSizedInit2 | 9,851 | 🟢 **-829 (7.76%)** | | accountSized2 | 1,106 | 🟢 **-767 (40.95%)** | | accountSizedInit4 | 18,876 | 🟢 **-1,094 (5.48%)** | | accountSized4 | 1,863 | 🟢 **-899 (32.55%)** | | accountSizedInit8 | 36,832 | 🟢 **-1,290 (3.38%)** | | accountSized8 | 3,374 | 🟢 **-1,979 (36.97%)** | | accountUnsizedInit1 | 5,275 | 🟢 **-777 (12.84%)** | | accountUnsized1 | 759 | 🟢 **-579 (43.27%)** | | accountUnsizedInit2 | 10,090 | 🟢 **-839 (7.68%)** | | accountUnsized2 | 1,168 | 🟢 **-610 (34.31%)** | | accountUnsizedInit4 | 19,281 | 🟢 **-1,058 (5.20%)** | | accountUnsized4 | 2,000 | 🟢 **-1,136 (36.22%)** | | accountUnsizedInit8 | 37,378 | 🟢 **-1,718 (4.39%)** | | accountUnsized8 | 3,667 | 🟢 **-2,285 (38.39%)** | | boxedAccountEmptyInit1 | 5,145 | 🟢 **-889 (14.73%)** | | boxedAccountEmpty1 | 745 | 🟢 **-143 (16.10%)** | | boxedAccountEmptyInit2 | 9,769 | 🟢 **-864 (8.13%)** | | boxedAccountEmpty2 | 1,136 | 🟢 **-265 (18.92%)** | | boxedAccountEmptyInit4 | 18,661 | 🟢 **-650 (3.37%)** | | boxedAccountEmpty4 | 1,913 | 🟢 **-511 (21.08%)** | | boxedAccountEmptyInit8 | 36,488 | 🟢 **-648 (1.74%)** | | boxedAccountEmpty8 | 3,500 | 🟢 **-1,159 (24.88%)** | | boxedAccountSizedInit1 | 5,222 | 🟢 **-908 (14.81%)** | | boxedAccountSized1 | 767 | 🟢 **-150 (16.36%)** | | boxedAccountSizedInit2 | 9,925 | 🟢 **-903 (8.34%)** | | boxedAccountSized2 | 1,183 | 🟢 **-280 (19.14%)** | | boxedAccountSizedInit4 | 18,973 | 🟢 **-730 (3.71%)** | | boxedAccountSized4 | 2,002 | 🟢 **-541 (21.27%)** | | boxedAccountSizedInit8 | 37,111 | 🟢 **-808 (2.13%)** | | boxedAccountSized8 | 3,682 | 🟢 **-1,216 (24.83%)** | | boxedAccountUnsizedInit1 | 5,304 | 🟢 **-936 (15.00%)** | | boxedAccountUnsized1 | 797 | 🟢 **-175 (18.00%)** | | boxedAccountUnsizedInit2 | 10,089 | 🟢 **-959 (8.68%)** | | boxedAccountUnsized2 | 1,246 | 🟢 **-324 (20.64%)** | | boxedAccountUnsizedInit4 | 19,303 | 🟢 **-835 (4.15%)** | | boxedAccountUnsized4 | 2,135 | 🟢 **-633 (22.87%)** | | boxedAccountUnsizedInit8 | 37,770 | 🟢 **-1,030 (2.65%)** | | boxedAccountUnsized8 | 3,948 | 🟢 **-1,399 (26.16%)** | | boxedInterfaceAccountMint1 | 2,085 | 🟢 **-211 (9.19%)** | | boxedInterfaceAccountMint2 | 3,726 | 🟢 **-403 (9.76%)** | | boxedInterfaceAccountMint4 | 6,991 | 🟢 **-792 (10.18%)** | | boxedInterfaceAccountMint8 | 13,562 | 🟢 **-1,719 (11.25%)** | | boxedInterfaceAccountToken1 | 2,015 | 🟢 **-8 (0.40%)** | | boxedInterfaceAccountToken2 | 3,585 | 🔴 **+3 (0.08%)** | | boxedInterfaceAccountToken4 | 6,712 | 🔴 **+20 (0.30%)** | | boxedInterfaceAccountToken8 | 13,003 | 🟢 **-95 (0.73%)** | | interfaceAccountMint1 | 2,174 | 🟢 **-190 (8.04%)** | | interfaceAccountMint2 | 4,057 | 🟢 **-973 (19.34%)** | | interfaceAccountMint4 | 7,823 | 🟢 **-1,980 (20.20%)** | | interfaceAccountMint8 | 15,357 | 🟢 **-3,043 (16.54%)** | | interfaceAccountToken1 | 2,101 | 🔴 **+10 (0.48%)** | | interfaceAccountToken2 | 3,909 | 🟢 **-39 (0.99%)** | | interfaceAccountToken4 | 7,522 | 🟢 **-25 (0.33%)** | | interface1 | 630 | 🟢 **-429 (40.51%)** | | interface2 | 813 | 🟢 **-666 (45.03%)** | | interface4 | 1,174 | 🟢 **-726 (38.21%)** | | interface8 | 1,905 | 🟢 **-1,741 (47.75%)** | | program1 | 630 | 🟢 **-423 (40.17%)** | | program2 | 813 | 🟢 **-654 (44.58%)** | | program4 | 1,176 | 🟢 **-702 (37.38%)** | | program8 | 1,905 | 🟢 **-1,693 (47.05%)** | | signer1 | 564 | 🟢 **-454 (44.60%)** | | signer2 | 776 | 🟢 **-708 (47.71%)** | | signer4 | 1,195 | 🟢 **-789 (39.77%)** | | signer8 | 2,035 | 🟢 **-1,845 (47.55%)** | | systemAccount1 | 618 | 🟢 **-454 (42.35%)** | | systemAccount2 | 882 | 🟢 **-708 (44.53%)** | | systemAccount4 | 1,406 | 🟢 **-789 (35.95%)** | | systemAccount8 | 2,460 | 🟢 **-1,845 (42.86%)** | | uncheckedAccount1 | 546 | 🟢 **-468 (46.15%)** | | uncheckedAccount2 | 738 | 🟢 **-737 (49.97%)** | | uncheckedAccount4 | 1,115 | 🟢 **-850 (43.26%)** | | uncheckedAccount8 | 1,877 | 🟢 **-1,964 (51.13%)** | ### Notable changes - `Box` the `anchor_lang::Result` error variants ([#2600](https://github.com/coral-xyz/anchor/pull/2600)). --- ## [0.28.0] Solana version: 1.16.0 | Instruction | Compute Units | +/- | | --------------------------- | ------------- | ---------------------- | | accountInfo1 | 1,015 | 🔴 **+61 (6.39%)** | | accountInfo2 | 1,475 | 🟢 **-92 (5.87%)** | | accountInfo4 | 1,964 | 🟢 **-95 (4.61%)** | | accountInfo8 | 3,841 | 🟢 **-15 (0.39%)** | | accountEmptyInit1 | 5,817 | 🟢 **-141 (2.37%)** | | accountEmpty1 | 1,149 | 🔴 **+59 (5.41%)** | | accountEmptyInit2 | 10,402 | 🟢 **-172 (1.63%)** | | accountEmpty2 | 1,754 | 🟢 **-98 (5.29%)** | | accountEmptyInit4 | 19,508 | 🟢 **-49 (0.25%)** | | accountEmpty4 | 2,540 | 🟢 **-106 (4.01%)** | | accountEmptyInit8 | 37,265 | 🟢 **-276 (0.74%)** | | accountEmpty8 | 5,016 | 🟢 **-27 (0.54%)** | | accountSizedInit1 | 5,924 | 🟢 **-139 (2.29%)** | | accountSized1 | 1,214 | 🔴 **+79 (6.96%)** | | accountSizedInit2 | 10,680 | 🟢 **-103 (0.96%)** | | accountSized2 | 1,873 | 🟢 **-93 (4.73%)** | | accountSizedInit4 | 19,970 | 🟢 **-5 (0.03%)** | | accountSized4 | 2,762 | 🟢 **-25 (0.90%)** | | accountSizedInit8 | 38,122 | 🟢 **-259 (0.67%)** | | accountSized8 | 5,353 | 🟢 **-6 (0.11%)** | | accountUnsizedInit1 | 6,052 | 🟢 **-141 (2.28%)** | | accountUnsized1 | 1,338 | 🔴 **+95 (7.64%)** | | accountUnsizedInit2 | 10,929 | 🟢 **-113 (1.02%)** | | accountUnsized2 | 1,778 | 🟢 **-115 (6.08%)** | | accountUnsizedInit4 | 20,339 | 🟢 **-156 (0.76%)** | | accountUnsized4 | 3,136 | 🔴 **+32 (1.03%)** | | accountUnsizedInit8 | 39,096 | 🟢 **-323 (0.82%)** | | accountUnsized8 | 5,952 | 🟢 **-99 (1.64%)** | | boxedAccountEmptyInit1 | 6,034 | 🟢 **-126 (2.05%)** | | boxedAccountEmpty1 | 888 | 🟢 **-88 (9.02%)** | | boxedAccountEmptyInit2 | 10,633 | 🟢 **-151 (1.40%)** | | boxedAccountEmpty2 | 1,401 | 🟢 **-98 (6.54%)** | | boxedAccountEmptyInit4 | 19,311 | 🟢 **-189 (0.97%)** | | boxedAccountEmpty4 | 2,424 | 🟢 **-106 (4.19%)** | | boxedAccountEmptyInit8 | 37,136 | 🟢 **-279 (0.75%)** | | boxedAccountEmpty8 | 4,659 | 🟢 **-121 (2.53%)** | | boxedAccountSizedInit1 | 6,130 | 🟢 **-126 (2.01%)** | | boxedAccountSized1 | 917 | 🟢 **-86 (8.57%)** | | boxedAccountSizedInit2 | 10,828 | 🟢 **-147 (1.34%)** | | boxedAccountSized2 | 1,463 | 🟢 **-91 (5.86%)** | | boxedAccountSizedInit4 | 19,703 | 🟢 **-181 (0.91%)** | | boxedAccountSized4 | 2,543 | 🟢 **-99 (3.75%)** | | boxedAccountSizedInit8 | 37,919 | 🟢 **-263 (0.69%)** | | boxedAccountSized8 | 4,898 | 🟢 **-105 (2.10%)** | | boxedAccountUnsizedInit1 | 6,240 | 🟢 **-134 (2.10%)** | | boxedAccountUnsized1 | 972 | 🟢 **-97 (9.07%)** | | boxedAccountUnsizedInit2 | 11,048 | 🟢 **-163 (1.45%)** | | boxedAccountUnsized2 | 1,570 | 🟢 **-109 (6.49%)** | | boxedAccountUnsizedInit4 | 20,138 | 🟢 **-213 (1.05%)** | | boxedAccountUnsized4 | 2,768 | 🟢 **-131 (4.52%)** | | boxedAccountUnsizedInit8 | 38,800 | 🟢 **-318 (0.81%)** | | boxedAccountUnsized8 | 5,347 | 🟢 **-170 (3.08%)** | | boxedInterfaceAccountMint1 | 2,296 | 🟢 **-3 (0.13%)** | | boxedInterfaceAccountMint2 | 4,129 | 🔴 **+76 (1.88%)** | | boxedInterfaceAccountMint4 | 7,783 | 🔴 **+245 (3.25%)** | | boxedInterfaceAccountMint8 | 15,281 | 🔴 **+582 (3.96%)** | | boxedInterfaceAccountToken1 | 2,023 | 🔴 **+286 (16.47%)** | | boxedInterfaceAccountToken2 | 3,582 | 🔴 **+654 (22.34%)** | | boxedInterfaceAccountToken4 | 6,692 | 🔴 **+1,401 (26.48%)** | | boxedInterfaceAccountToken8 | 13,098 | 🔴 **+2,893 (28.35%)** | | interfaceAccountMint1 | 2,364 | 🟢 **-166 (6.56%)** | | interfaceAccountMint2 | 5,030 | 🔴 **+304 (6.43%)** | | interfaceAccountMint4 | 9,803 | 🔴 **+372 (3.94%)** | | interfaceAccountMint8 | 18,400 | 🔴 **+691 (3.90%)** | | interfaceAccountToken1 | 2,091 | 🔴 **+336 (19.15%)** | | interfaceAccountToken2 | 3,948 | 🔴 **+737 (22.95%)** | | interfaceAccountToken4 | 7,547 | 🔴 **+1,541 (25.66%)** | | interface1 | 1,059 | 🔴 **+60 (6.01%)** | | interface2 | 1,479 | 🟢 **-95 (6.04%)** | | interface4 | 1,900 | 🟢 **-96 (4.81%)** | | interface8 | 3,646 | 🟢 **-5 (0.14%)** | | program1 | 1,053 | 🔴 **+54 (5.41%)** | | program2 | 1,467 | 🟢 **-106 (6.74%)** | | program4 | 1,878 | 🟢 **-120 (6.01%)** | | program8 | 3,598 | 🟢 **-53 (1.45%)** | | signer1 | 1,018 | 🔴 **+60 (6.26%)** | | signer2 | 1,484 | 🟢 **-92 (5.84%)** | | signer4 | 1,984 | 🟢 **-95 (4.57%)** | | signer8 | 3,880 | 🟢 **-15 (0.39%)** | | systemAccount1 | 1,072 | 🔴 **+59 (5.82%)** | | systemAccount2 | 1,590 | 🟢 **-96 (5.69%)** | | systemAccount4 | 2,195 | 🟢 **-103 (4.48%)** | | systemAccount8 | 4,305 | 🟢 **-31 (0.71%)** | | uncheckedAccount1 | 1,014 | 🔴 **+61 (6.40%)** | | uncheckedAccount2 | 1,475 | 🟢 **-92 (5.87%)** | | uncheckedAccount4 | 1,965 | 🟢 **-95 (4.61%)** | | uncheckedAccount8 | 3,841 | 🟢 **-14 (0.36%)** | ### Notable changes - Upgrading Solana to `1.16`. The difference in compute units usage between `0.27.0` and `0.28.0` is the direct result of upgrading Solana version(both build tools and crates) ([#2512](https://github.com/coral-xyz/anchor/pull/2512)). --- ## [0.27.0] Solana version: 1.14.16 | Instruction | Compute Units | +/- | | --------------------------- | ------------- | --- | | accountInfo1 | 954 | N/A | | accountInfo2 | 1,567 | N/A | | accountInfo4 | 2,059 | N/A | | accountInfo8 | 3,856 | N/A | | accountEmptyInit1 | 5,958 | N/A | | accountEmpty1 | 1,090 | N/A | | accountEmptyInit2 | 10,574 | N/A | | accountEmpty2 | 1,852 | N/A | | accountEmptyInit4 | 19,557 | N/A | | accountEmpty4 | 2,646 | N/A | | accountEmptyInit8 | 37,541 | N/A | | accountEmpty8 | 5,043 | N/A | | accountSizedInit1 | 6,063 | N/A | | accountSized1 | 1,135 | N/A | | accountSizedInit2 | 10,783 | N/A | | accountSized2 | 1,966 | N/A | | accountSizedInit4 | 19,975 | N/A | | accountSized4 | 2,787 | N/A | | accountSizedInit8 | 38,381 | N/A | | accountSized8 | 5,359 | N/A | | accountUnsizedInit1 | 6,193 | N/A | | accountUnsized1 | 1,243 | N/A | | accountUnsizedInit2 | 11,042 | N/A | | accountUnsized2 | 1,893 | N/A | | accountUnsizedInit4 | 20,495 | N/A | | accountUnsized4 | 3,104 | N/A | | accountUnsizedInit8 | 39,419 | N/A | | accountUnsized8 | 6,051 | N/A | | boxedAccountEmptyInit1 | 6,160 | N/A | | boxedAccountEmpty1 | 976 | N/A | | boxedAccountEmptyInit2 | 10,784 | N/A | | boxedAccountEmpty2 | 1,499 | N/A | | boxedAccountEmptyInit4 | 19,500 | N/A | | boxedAccountEmpty4 | 2,530 | N/A | | boxedAccountEmptyInit8 | 37,415 | N/A | | boxedAccountEmpty8 | 4,780 | N/A | | boxedAccountSizedInit1 | 6,256 | N/A | | boxedAccountSized1 | 1,003 | N/A | | boxedAccountSizedInit2 | 10,975 | N/A | | boxedAccountSized2 | 1,554 | N/A | | boxedAccountSizedInit4 | 19,884 | N/A | | boxedAccountSized4 | 2,642 | N/A | | boxedAccountSizedInit8 | 38,182 | N/A | | boxedAccountSized8 | 5,003 | N/A | | boxedAccountUnsizedInit1 | 6,374 | N/A | | boxedAccountUnsized1 | 1,069 | N/A | | boxedAccountUnsizedInit2 | 11,211 | N/A | | boxedAccountUnsized2 | 1,679 | N/A | | boxedAccountUnsizedInit4 | 20,351 | N/A | | boxedAccountUnsized4 | 2,899 | N/A | | boxedAccountUnsizedInit8 | 39,118 | N/A | | boxedAccountUnsized8 | 5,517 | N/A | | boxedInterfaceAccountMint1 | 2,299 | N/A | | boxedInterfaceAccountMint2 | 4,053 | N/A | | boxedInterfaceAccountMint4 | 7,538 | N/A | | boxedInterfaceAccountMint8 | 14,699 | N/A | | boxedInterfaceAccountToken1 | 1,737 | N/A | | boxedInterfaceAccountToken2 | 2,928 | N/A | | boxedInterfaceAccountToken4 | 5,291 | N/A | | boxedInterfaceAccountToken8 | 10,205 | N/A | | interfaceAccountMint1 | 2,530 | N/A | | interfaceAccountMint2 | 4,726 | N/A | | interfaceAccountMint4 | 9,431 | N/A | | interfaceAccountMint8 | 17,709 | N/A | | interfaceAccountToken1 | 1,755 | N/A | | interfaceAccountToken2 | 3,211 | N/A | | interfaceAccountToken4 | 6,006 | N/A | | interface1 | 999 | N/A | | interface2 | 1,574 | N/A | | interface4 | 1,996 | N/A | | interface8 | 3,651 | N/A | | program1 | 999 | N/A | | program2 | 1,573 | N/A | | program4 | 1,998 | N/A | | program8 | 3,651 | N/A | | signer1 | 958 | N/A | | signer2 | 1,576 | N/A | | signer4 | 2,079 | N/A | | signer8 | 3,895 | N/A | | systemAccount1 | 1,013 | N/A | | systemAccount2 | 1,686 | N/A | | systemAccount4 | 2,298 | N/A | | systemAccount8 | 4,336 | N/A | | uncheckedAccount1 | 953 | N/A | | uncheckedAccount2 | 1,567 | N/A | | uncheckedAccount4 | 2,060 | N/A | | uncheckedAccount8 | 3,855 | N/A | ---