37 KiB
37 KiB
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.
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: 2.0.8
Instruction | Compute Units | - |
---|---|---|
accountInfo1 | 573 | 🟢 -28 (4.66%) |
accountInfo2 | 899 | 🟢 -24 (2.60%) |
accountInfo4 | 1,561 | 🟢 -22 (1.39%) |
accountInfo8 | 2,957 | 🟢 -18 (0.61%) |
accountEmptyInit1 | 5,014 | 🟢 -20 (0.40%) |
accountEmpty1 | 649 | 🟢 -3 (0.46%) |
accountEmptyInit2 | 9,155 | 🟢 -532 (5.49%) |
accountEmpty2 | 1,015 | 🟢 -1 (0.10%) |
accountEmptyInit4 | 17,465 | 🟢 -1,036 (5.60%) |
accountEmpty4 | 1,740 | 🔴 +3 (0.17%) |
accountEmptyInit8 | 34,115 | 🟢 -2,054 (5.68%) |
accountEmpty8 | 3,193 | 🔴 +7 (0.22%) |
accountSizedInit1 | 5,107 | 🔴 +1 (0.02%) |
accountSized1 | 690 | 🔴 +22 (3.29%) |
accountSizedInit2 | 9,313 | 🟢 -515 (5.24%) |
accountSized2 | 1,069 | 🔴 +23 (2.20%) |
accountSizedInit4 | 17,812 | 🟢 -1,025 (5.44%) |
accountSized4 | 1,834 | 🔴 +27 (1.49%) |
accountSizedInit8 | 34,706 | 🟢 -2,055 (5.59%) |
accountSized8 | 3,357 | 🔴 +31 (0.93%) |
accountUnsizedInit1 | 5,227 | 🔴 +28 (0.54%) |
accountUnsized1 | 746 | 🔴 +44 (6.27%) |
accountUnsizedInit2 | 9,599 | 🟢 -479 (4.75%) |
accountUnsized2 | 1,163 | 🔴 +47 (4.21%) |
accountUnsizedInit4 | 18,276 | 🟢 -983 (5.10%) |
accountUnsized4 | 2,000 | 🔴 +47 (2.41%) |
accountUnsizedInit8 | 35,328 | 🟢 -2,003 (5.37%) |
accountUnsized8 | 3,671 | 🔴 +45 (1.24%) |
boxedAccountEmptyInit1 | 5,106 | 🔴 +42 (0.83%) |
boxedAccountEmpty1 | 740 | 🔴 +69 (10.28%) |
boxedAccountEmptyInit2 | 9,268 | 🟢 -453 (4.66%) |
boxedAccountEmpty2 | 1,125 | 🔴 +73 (6.94%) |
boxedAccountEmptyInit4 | 17,619 | 🟢 -963 (5.18%) |
boxedAccountEmpty4 | 1,886 | 🔴 +75 (4.14%) |
boxedAccountEmptyInit8 | 34,346 | 🟢 -1,983 (5.46%) |
boxedAccountEmpty8 | 3,435 | 🔴 +78 (2.32%) |
boxedAccountSizedInit1 | 5,189 | 🔴 +70 (1.37%) |
boxedAccountSized1 | 780 | 🔴 +94 (13.70%) |
boxedAccountSizedInit2 | 9,411 | 🟢 -434 (4.41%) |
boxedAccountSized2 | 1,180 | 🔴 +95 (8.76%) |
boxedAccountSizedInit4 | 17,879 | 🟢 -946 (5.03%) |
boxedAccountSized4 | 1,974 | 🔴 +100 (5.34%) |
boxedAccountSizedInit8 | 34,842 | 🟢 -1,982 (5.38%) |
boxedAccountSized8 | 3,593 | 🔴 +103 (2.95%) |
boxedAccountUnsizedInit1 | 5,300 | 🔴 +93 (1.79%) |
boxedAccountUnsized1 | 838 | 🔴 +117 (16.23%) |
boxedAccountUnsizedInit2 | 9,609 | 🟢 -406 (4.05%) |
boxedAccountUnsized2 | 1,275 | 🔴 +118 (10.20%) |
boxedAccountUnsizedInit4 | 18,251 | 🟢 -909 (4.74%) |
boxedAccountUnsized4 | 2,138 | 🔴 +119 (5.89%) |
boxedAccountUnsizedInit8 | 35,562 | 🟢 -1,934 (5.16%) |
boxedAccountUnsized8 | 3,895 | 🔴 +119 (3.15%) |
boxedInterfaceAccountMint1 | 1,502 | 🔴 +130 (9.48%) |
boxedInterfaceAccountMint2 | 2,423 | 🔴 +130 (5.67%) |
boxedInterfaceAccountMint4 | 4,256 | 🔴 +135 (3.28%) |
boxedInterfaceAccountMint8 | 7,950 | 🔴 +139 (1.78%) |
boxedInterfaceAccountToken1 | 2,198 | 🔴 +142 (6.91%) |
boxedInterfaceAccountToken2 | 3,803 | 🔴 +143 (3.91%) |
boxedInterfaceAccountToken4 | 7,004 | 🔴 +146 (2.13%) |
boxedInterfaceAccountToken8 | 13,434 | 🔴 +150 (1.13%) |
interfaceAccountMint1 | 1,626 | 🔴 +154 (10.46%) |
interfaceAccountMint2 | 2,788 | 🔴 +157 (5.97%) |
interfaceAccountMint4 | 5,110 | 🔴 +159 (3.21%) |
interfaceAccountMint8 | 9,749 | 🔴 +161 (1.68%) |
interfaceAccountToken1 | 2,296 | 🔴 +166 (7.79%) |
interfaceAccountToken2 | 4,096 | 🔴 +168 (4.28%) |
interfaceAccountToken4 | 7,692 | 🔴 +171 (2.27%) |
interface1 | 774 | 🔴 +174 (29.00%) |
interface2 | 923 | 🔴 +178 (23.89%) |
interface4 | 1,214 | 🔴 +181 (17.52%) |
interface8 | 1,799 | 🔴 +183 (11.32%) |
program1 | 782 | 🔴 +186 (31.21%) |
program2 | 927 | 🔴 +190 (25.78%) |
program4 | 1,210 | 🔴 +191 (18.74%) |
program8 | 1,779 | 🔴 +195 (12.31%) |
signer1 | 779 | 🔴 +199 (34.31%) |
signer2 | 1,074 | 🔴 +202 (23.17%) |
signer4 | 1,657 | 🔴 +203 (13.96%) |
signer8 | 2,826 | 🔴 +208 (7.94%) |
systemAccount1 | 802 | 🔴 +210 (35.47%) |
systemAccount2 | 1,108 | 🔴 +214 (23.94%) |
systemAccount4 | 1,713 | 🔴 +216 (14.43%) |
systemAccount8 | 2,926 | 🔴 +219 (8.09%) |
uncheckedAccount1 | 785 | 🔴 +222 (39.43%) |
uncheckedAccount2 | 1,061 | 🔴 +225 (26.91%) |
uncheckedAccount4 | 1,604 | 🔴 +226 (16.40%) |
uncheckedAccount8 | 2,699 | 🔴 +231 (9.36%) |
Notable changes
- lang: Update
dispatch
function to support dynamic discriminators (#3104). - lang: Remove unnecessary clone in account exit routine (#3139).
[0.30.1]
Solana version: 1.18.17
Instruction | Compute Units | - |
---|---|---|
accountInfo1 | 601 | - |
accountInfo2 | 923 | - |
accountInfo4 | 1,583 | - |
accountInfo8 | 2,975 | - |
accountEmptyInit1 | 5,034 | - |
accountEmpty1 | 652 | - |
accountEmptyInit2 | 9,687 | - |
accountEmpty2 | 1,016 | - |
accountEmptyInit4 | 18,501 | - |
accountEmpty4 | 1,737 | - |
accountEmptyInit8 | 36,169 | - |
accountEmpty8 | 3,186 | - |
accountSizedInit1 | 5,106 | - |
accountSized1 | 668 | - |
accountSizedInit2 | 9,828 | - |
accountSized2 | 1,046 | - |
accountSizedInit4 | 18,837 | - |
accountSized4 | 1,807 | - |
accountSizedInit8 | 36,761 | - |
accountSized8 | 3,326 | - |
accountUnsizedInit1 | 5,199 | - |
accountUnsized1 | 702 | - |
accountUnsizedInit2 | 10,078 | - |
accountUnsized2 | 1,116 | - |
accountUnsizedInit4 | 19,259 | - |
accountUnsized4 | 1,953 | - |
accountUnsizedInit8 | 37,331 | - |
accountUnsized8 | 3,626 | - |
boxedAccountEmptyInit1 | 5,064 | - |
boxedAccountEmpty1 | 671 | - |
boxedAccountEmptyInit2 | 9,721 | - |
boxedAccountEmpty2 | 1,052 | - |
boxedAccountEmptyInit4 | 18,582 | - |
boxedAccountEmpty4 | 1,811 | - |
boxedAccountEmptyInit8 | 36,329 | - |
boxedAccountEmpty8 | 3,357 | - |
boxedAccountSizedInit1 | 5,119 | - |
boxedAccountSized1 | 686 | - |
boxedAccountSizedInit2 | 9,845 | - |
boxedAccountSized2 | 1,085 | - |
boxedAccountSizedInit4 | 18,825 | - |
boxedAccountSized4 | 1,874 | - |
boxedAccountSizedInit8 | 36,824 | - |
boxedAccountSized8 | 3,490 | - |
boxedAccountUnsizedInit1 | 5,207 | - |
boxedAccountUnsized1 | 721 | - |
boxedAccountUnsizedInit2 | 10,015 | - |
boxedAccountUnsized2 | 1,157 | - |
boxedAccountUnsizedInit4 | 19,160 | - |
boxedAccountUnsized4 | 2,019 | - |
boxedAccountUnsizedInit8 | 37,496 | - |
boxedAccountUnsized8 | 3,776 | - |
boxedInterfaceAccountMint1 | 1,372 | - |
boxedInterfaceAccountMint2 | 2,293 | - |
boxedInterfaceAccountMint4 | 4,121 | - |
boxedInterfaceAccountMint8 | 7,811 | - |
boxedInterfaceAccountToken1 | 2,056 | - |
boxedInterfaceAccountToken2 | 3,660 | - |
boxedInterfaceAccountToken4 | 6,858 | - |
boxedInterfaceAccountToken8 | 13,284 | - |
interfaceAccountMint1 | 1,472 | - |
interfaceAccountMint2 | 2,631 | - |
interfaceAccountMint4 | 4,951 | - |
interfaceAccountMint8 | 9,588 | - |
interfaceAccountToken1 | 2,130 | - |
interfaceAccountToken2 | 3,928 | - |
interfaceAccountToken4 | 7,521 | - |
interface1 | 600 | - |
interface2 | 745 | - |
interface4 | 1,033 | - |
interface8 | 1,616 | - |
program1 | 596 | - |
program2 | 737 | - |
program4 | 1,019 | - |
program8 | 1,584 | - |
signer1 | 580 | - |
signer2 | 872 | - |
signer4 | 1,454 | - |
signer8 | 2,618 | - |
systemAccount1 | 592 | - |
systemAccount2 | 894 | - |
systemAccount4 | 1,497 | - |
systemAccount8 | 2,707 | - |
uncheckedAccount1 | 563 | - |
uncheckedAccount2 | 836 | - |
uncheckedAccount4 | 1,378 | - |
uncheckedAccount8 | 2,468 | - |
Notable changes
[0.30.0]
Solana version: 1.18.8
Instruction | Compute Units | - |
---|---|---|
accountInfo1 | 601 | 🟢 -94 (13.53%) |
accountInfo2 | 923 | 🟢 -112 (10.82%) |
accountInfo4 | 1,583 | 🟢 -147 (8.50%) |
accountInfo8 | 2,975 | 🟢 -367 (10.98%) |
accountEmptyInit1 | 5,034 | 🟢 -518 (9.33%) |
accountEmpty1 | 652 | 🟢 -167 (20.39%) |
accountEmptyInit2 | 9,687 | 🟢 -734 (7.04%) |
accountEmpty2 | 1,016 | 🟢 -259 (20.31%) |
accountEmptyInit4 | 18,501 | 🟢 -1,302 (6.57%) |
accountEmpty4 | 1,737 | 🟢 -440 (20.21%) |
accountEmptyInit8 | 36,169 | 🟢 -2,440 (6.32%) |
accountEmpty8 | 3,186 | 🟢 -804 (20.15%) |
accountSizedInit1 | 5,106 | 🟢 -541 (9.58%) |
accountSized1 | 668 | 🟢 -175 (20.76%) |
accountSizedInit2 | 9,828 | 🟢 -779 (7.34%) |
accountSized2 | 1,046 | 🟢 -271 (20.58%) |
accountSizedInit4 | 18,837 | 🟢 -1,388 (6.86%) |
accountSized4 | 1,807 | 🟢 -467 (20.54%) |
accountSizedInit8 | 36,761 | 🟢 -2,615 (6.64%) |
accountSized8 | 3,326 | 🟢 -859 (20.53%) |
accountUnsizedInit1 | 5,199 | 🟢 -541 (9.43%) |
accountUnsized1 | 702 | 🟢 -168 (19.31%) |
accountUnsizedInit2 | 10,078 | 🟢 -778 (7.17%) |
accountUnsized2 | 1,116 | 🟢 -263 (19.07%) |
accountUnsizedInit4 | 19,259 | 🟢 -1,393 (6.75%) |
accountUnsized4 | 1,953 | 🟢 -458 (19.00%) |
accountUnsizedInit8 | 37,331 | 🟢 -2,638 (6.60%) |
accountUnsized8 | 3,626 | 🟢 -852 (19.03%) |
boxedAccountEmptyInit1 | 5,064 | 🟢 -541 (9.65%) |
boxedAccountEmpty1 | 671 | 🟢 -185 (21.61%) |
boxedAccountEmptyInit2 | 9,721 | 🟢 -801 (7.61%) |
boxedAccountEmpty2 | 1,052 | 🟢 -295 (21.90%) |
boxedAccountEmptyInit4 | 18,582 | 🟢 -1,420 (7.10%) |
boxedAccountEmpty4 | 1,811 | 🟢 -513 (22.07%) |
boxedAccountEmptyInit8 | 36,329 | 🟢 -2,673 (6.85%) |
boxedAccountEmpty8 | 3,357 | 🟢 -954 (22.13%) |
boxedAccountSizedInit1 | 5,119 | 🟢 -567 (9.97%) |
boxedAccountSized1 | 686 | 🟢 -192 (21.87%) |
boxedAccountSizedInit2 | 9,845 | 🟢 -845 (7.90%) |
boxedAccountSized2 | 1,085 | 🟢 -309 (22.17%) |
boxedAccountSizedInit4 | 18,825 | 🟢 -1,513 (7.44%) |
boxedAccountSized4 | 1,874 | 🟢 -539 (22.34%) |
boxedAccountSizedInit8 | 36,824 | 🟢 -2,846 (7.17%) |
boxedAccountSized8 | 3,490 | 🟢 -1,003 (22.32%) |
boxedAccountUnsizedInit1 | 5,207 | 🟢 -567 (9.82%) |
boxedAccountUnsized1 | 721 | 🟢 -187 (20.59%) |
boxedAccountUnsizedInit2 | 10,015 | 🟢 -851 (7.83%) |
boxedAccountUnsized2 | 1,157 | 🟢 -300 (20.59%) |
boxedAccountUnsizedInit4 | 19,160 | 🟢 -1,528 (7.39%) |
boxedAccountUnsized4 | 2,019 | 🟢 -527 (20.70%) |
boxedAccountUnsizedInit8 | 37,496 | 🟢 -2,879 (7.13%) |
boxedAccountUnsized8 | 3,776 | 🟢 -983 (20.66%) |
boxedInterfaceAccountMint1 | 1,372 | 🟢 -824 (37.52%) |
boxedInterfaceAccountMint2 | 2,293 | 🟢 -1,554 (40.40%) |
boxedInterfaceAccountMint4 | 4,121 | 🟢 -3,011 (42.22%) |
boxedInterfaceAccountMint8 | 7,811 | 🟢 -5,932 (43.16%) |
boxedInterfaceAccountToken1 | 2,056 | 🟢 -70 (3.29%) |
boxedInterfaceAccountToken2 | 3,660 | 🟢 -46 (1.24%) |
boxedInterfaceAccountToken4 | 6,858 | 🔴 +5 (0.07%) |
boxedInterfaceAccountToken8 | 13,284 | 🔴 +100 (0.76%) |
interfaceAccountMint1 | 1,472 | 🟢 -813 (35.58%) |
interfaceAccountMint2 | 2,631 | 🟢 -1,547 (37.03%) |
interfaceAccountMint4 | 4,951 | 🟢 -3,013 (37.83%) |
interfaceAccountMint8 | 9,588 | 🟢 -5,950 (38.29%) |
interfaceAccountToken1 | 2,130 | 🟢 -82 (3.71%) |
interfaceAccountToken2 | 3,928 | 🟢 -102 (2.53%) |
interfaceAccountToken4 | 7,521 | 🟢 -142 (1.85%) |
interface1 | 600 | 🟢 -141 (19.03%) |
interface2 | 745 | 🟢 -189 (20.24%) |
interface4 | 1,033 | 🟢 -282 (21.44%) |
interface8 | 1,616 | 🟢 -470 (22.53%) |
program1 | 596 | 🟢 -145 (19.57%) |
program2 | 737 | 🟢 -197 (21.09%) |
program4 | 1,019 | 🟢 -298 (22.63%) |
program8 | 1,584 | 🟢 -502 (24.07%) |
signer1 | 580 | 🟢 -95 (14.07%) |
signer2 | 872 | 🟢 -115 (11.65%) |
signer4 | 1,454 | 🟢 -152 (9.46%) |
signer8 | 2,618 | 🟢 -228 (8.01%) |
systemAccount1 | 592 | 🟢 -137 (18.79%) |
systemAccount2 | 894 | 🟢 -199 (18.21%) |
systemAccount4 | 1,497 | 🟢 -320 (17.61%) |
systemAccount8 | 2,707 | 🟢 -564 (17.24%) |
uncheckedAccount1 | 563 | 🟢 -94 (14.31%) |
uncheckedAccount2 | 836 | 🟢 -113 (11.91%) |
uncheckedAccount4 | 1,378 | 🟢 -148 (9.70%) |
uncheckedAccount8 | 2,468 | 🟢 -220 (8.18%) |
Notable changes
- Upgrade Solana to
1.18.8
(#2867).
[0.29.0]
Solana version: 1.17.0
Instruction | Compute Units | +/- |
---|---|---|
accountInfo1 | 695 | 🟢 -431 (38.28%) |
accountInfo2 | 1,035 | 🟢 -651 (38.61%) |
accountInfo4 | 1,730 | 🟢 -645 (27.16%) |
accountInfo8 | 3,342 | 🟢 -1,310 (28.16%) |
accountEmptyInit1 | 5,552 | 🟢 -919 (14.20%) |
accountEmpty1 | 819 | 🟢 -441 (35.00%) |
accountEmptyInit2 | 10,421 | 🟢 -1,079 (9.38%) |
accountEmpty2 | 1,275 | 🟢 -690 (35.11%) |
accountEmptyInit4 | 19,803 | 🟢 -1,691 (7.87%) |
accountEmpty4 | 2,177 | 🟢 -774 (26.23%) |
accountEmptyInit8 | 38,609 | 🟢 -2,418 (5.89%) |
accountEmpty8 | 3,990 | 🟢 -1,837 (31.53%) |
accountSizedInit1 | 5,647 | 🟢 -937 (14.23%) |
accountSized1 | 843 | 🟢 -482 (36.38%) |
accountSizedInit2 | 10,607 | 🟢 -1,183 (10.03%) |
accountSized2 | 1,317 | 🟢 -767 (36.80%) |
accountSizedInit4 | 20,225 | 🟢 -1,755 (7.98%) |
accountSized4 | 2,274 | 🟢 -899 (28.33%) |
accountSizedInit8 | 39,376 | 🟢 -2,556 (6.10%) |
accountSized8 | 4,185 | 🟢 -1,979 (32.11%) |
accountUnsizedInit1 | 5,740 | 🟢 -978 (14.56%) |
accountUnsized1 | 870 | 🟢 -579 (39.96%) |
accountUnsizedInit2 | 10,856 | 🟢 -1,195 (9.92%) |
accountUnsized2 | 1,379 | 🟢 -610 (30.67%) |
accountUnsizedInit4 | 20,652 | 🟢 -1,721 (7.69%) |
accountUnsized4 | 2,411 | 🟢 -1,136 (32.03%) |
accountUnsizedInit8 | 39,969 | 🟢 -2,985 (6.95%) |
accountUnsized8 | 4,478 | 🟢 -2,285 (33.79%) |
boxedAccountEmptyInit1 | 5,605 | 🟢 -1,083 (16.19%) |
boxedAccountEmpty1 | 856 | 🟢 -143 (14.31%) |
boxedAccountEmptyInit2 | 10,522 | 🟢 -1,209 (10.31%) |
boxedAccountEmpty2 | 1,347 | 🟢 -265 (16.44%) |
boxedAccountEmptyInit4 | 20,002 | 🟢 -1,295 (6.08%) |
boxedAccountEmpty4 | 2,324 | 🟢 -511 (18.02%) |
boxedAccountEmptyInit8 | 39,002 | 🟢 -1,896 (4.64%) |
boxedAccountEmpty8 | 4,311 | 🟢 -1,159 (21.19%) |
boxedAccountSizedInit1 | 5,686 | 🟢 -1,104 (16.26%) |
boxedAccountSized1 | 878 | 🟢 -150 (14.59%) |
boxedAccountSizedInit2 | 10,690 | 🟢 -1,248 (10.45%) |
boxedAccountSized2 | 1,394 | 🟢 -280 (16.73%) |
boxedAccountSizedInit4 | 20,338 | 🟢 -1,375 (6.33%) |
boxedAccountSized4 | 2,413 | 🟢 -541 (18.31%) |
boxedAccountSizedInit8 | 39,670 | 🟢 -2,059 (4.93%) |
boxedAccountSized8 | 4,493 | 🟢 -1,216 (21.30%) |
boxedAccountUnsizedInit1 | 5,774 | 🟢 -1,132 (16.39%) |
boxedAccountUnsized1 | 908 | 🟢 -175 (16.16%) |
boxedAccountUnsizedInit2 | 10,866 | 🟢 -1,304 (10.71%) |
boxedAccountUnsized2 | 1,457 | 🟢 -324 (18.19%) |
boxedAccountUnsizedInit4 | 20,688 | 🟢 -1,484 (6.69%) |
boxedAccountUnsized4 | 2,546 | 🟢 -633 (19.91%) |
boxedAccountUnsizedInit8 | 40,375 | 🟢 -2,274 (5.33%) |
boxedAccountUnsized8 | 4,759 | 🟢 -1,399 (22.72%) |
boxedInterfaceAccountMint1 | 2,196 | 🟢 -211 (8.77%) |
boxedInterfaceAccountMint2 | 3,847 | 🟢 -403 (9.48%) |
boxedInterfaceAccountMint4 | 7,132 | 🟢 -792 (9.99%) |
boxedInterfaceAccountMint8 | 13,743 | 🟢 -1,719 (11.12%) |
boxedInterfaceAccountToken1 | 2,126 | 🟢 -8 (0.37%) |
boxedInterfaceAccountToken2 | 3,706 | 🔴 +3 (0.08%) |
boxedInterfaceAccountToken4 | 6,853 | 🔴 +20 (0.29%) |
boxedInterfaceAccountToken8 | 13,184 | 🟢 -95 (0.72%) |
interfaceAccountMint1 | 2,285 | 🟢 -190 (7.68%) |
interfaceAccountMint2 | 4,178 | 🟢 -973 (18.89%) |
interfaceAccountMint4 | 7,964 | 🟢 -1,980 (19.91%) |
interfaceAccountMint8 | 15,538 | 🟢 -3,043 (16.38%) |
interfaceAccountToken1 | 2,212 | 🔴 +10 (0.45%) |
interfaceAccountToken2 | 4,030 | 🟢 -39 (0.96%) |
interfaceAccountToken4 | 7,663 | 🟢 -25 (0.33%) |
interface1 | 741 | 🟢 -429 (36.67%) |
interface2 | 934 | 🟢 -666 (41.63%) |
interface4 | 1,315 | 🟢 -726 (35.57%) |
interface8 | 2,086 | 🟢 -1,741 (45.49%) |
program1 | 741 | 🟢 -423 (36.34%) |
program2 | 934 | 🟢 -654 (41.18%) |
program4 | 1,317 | 🟢 -702 (34.77%) |
program8 | 2,086 | 🟢 -1,693 (44.80%) |
signer1 | 675 | 🟢 -454 (40.21%) |
signer2 | 987 | 🟢 -708 (41.77%) |
signer4 | 1,606 | 🟢 -789 (32.94%) |
signer8 | 2,846 | 🟢 -1,845 (39.33%) |
systemAccount1 | 729 | 🟢 -454 (38.38%) |
systemAccount2 | 1,093 | 🟢 -708 (39.31%) |
systemAccount4 | 1,817 | 🟢 -789 (30.28%) |
systemAccount8 | 3,271 | 🟢 -1,845 (36.06%) |
uncheckedAccount1 | 657 | 🟢 -468 (41.60%) |
uncheckedAccount2 | 949 | 🟢 -737 (43.71%) |
uncheckedAccount4 | 1,526 | 🟢 -850 (35.77%) |
uncheckedAccount8 | 2,688 | 🟢 -1,964 (42.22%) |
Notable changes
Box
theanchor_lang::Result
error variants (#2600).- Change all accounts to have a reference to
AccountInfo
instead of cloning (#2656). - Reduce unnecessary cloning (#2663).
[0.28.0]
Solana version: 1.16.0
Instruction | Compute Units | +/- |
---|---|---|
accountInfo1 | 1,126 | 🔴 +63 (5.93%) |
accountInfo2 | 1,686 | 🟢 -88 (4.96%) |
accountInfo4 | 2,375 | 🟢 -87 (3.53%) |
accountInfo8 | 4,652 | 🔴 +1 (0.02%) |
accountEmptyInit1 | 6,471 | 🟢 -177 (2.66%) |
accountEmpty1 | 1,260 | 🔴 +61 (5.09%) |
accountEmptyInit2 | 11,500 | 🟢 -247 (2.10%) |
accountEmpty2 | 1,965 | 🟢 -94 (4.57%) |
accountEmptyInit4 | 21,494 | 🟢 -202 (0.93%) |
accountEmpty4 | 2,951 | 🟢 -98 (3.21%) |
accountEmptyInit8 | 41,027 | 🟢 -585 (1.41%) |
accountEmpty8 | 5,827 | 🟢 -11 (0.19%) |
accountSizedInit1 | 6,584 | 🟢 -175 (2.59%) |
accountSized1 | 1,325 | 🔴 +81 (6.51%) |
accountSizedInit2 | 11,790 | 🟢 -178 (1.49%) |
accountSized2 | 2,084 | 🟢 -89 (4.10%) |
accountSizedInit4 | 21,980 | 🟢 -158 (0.71%) |
accountSized4 | 3,173 | 🟢 -17 (0.53%) |
accountSizedInit8 | 41,932 | 🟢 -568 (1.34%) |
accountSized8 | 6,164 | 🔴 +10 (0.16%) |
accountUnsizedInit1 | 6,718 | 🟢 -177 (2.57%) |
accountUnsized1 | 1,449 | 🔴 +97 (7.17%) |
accountUnsizedInit2 | 12,051 | 🟢 -188 (1.54%) |
accountUnsized2 | 1,989 | 🟢 -111 (5.29%) |
accountUnsizedInit4 | 22,373 | 🟢 -309 (1.36%) |
accountUnsized4 | 3,547 | 🔴 +40 (1.14%) |
accountUnsizedInit8 | 42,954 | 🟢 -632 (1.45%) |
accountUnsized8 | 6,763 | 🟢 -83 (1.21%) |
boxedAccountEmptyInit1 | 6,688 | 🟢 -162 (2.36%) |
boxedAccountEmpty1 | 999 | 🟢 -86 (7.93%) |
boxedAccountEmptyInit2 | 11,731 | 🟢 -226 (1.89%) |
boxedAccountEmpty2 | 1,612 | 🟢 -94 (5.51%) |
boxedAccountEmptyInit4 | 21,297 | 🟢 -342 (1.58%) |
boxedAccountEmpty4 | 2,835 | 🟢 -98 (3.34%) |
boxedAccountEmptyInit8 | 40,898 | 🟢 -588 (1.42%) |
boxedAccountEmpty8 | 5,470 | 🟢 -105 (1.88%) |
boxedAccountSizedInit1 | 6,790 | 🟢 -162 (2.33%) |
boxedAccountSized1 | 1,028 | 🟢 -84 (7.55%) |
boxedAccountSizedInit2 | 11,938 | 🟢 -222 (1.83%) |
boxedAccountSized2 | 1,674 | 🟢 -87 (4.94%) |
boxedAccountSizedInit4 | 21,713 | 🟢 -334 (1.51%) |
boxedAccountSized4 | 2,954 | 🟢 -91 (2.99%) |
boxedAccountSizedInit8 | 41,729 | 🟢 -572 (1.35%) |
boxedAccountSized8 | 5,709 | 🟢 -89 (1.54%) |
boxedAccountUnsizedInit1 | 6,906 | 🟢 -170 (2.40%) |
boxedAccountUnsized1 | 1,083 | 🟢 -95 (8.06%) |
boxedAccountUnsizedInit2 | 12,170 | 🟢 -238 (1.92%) |
boxedAccountUnsized2 | 1,781 | 🟢 -105 (5.57%) |
boxedAccountUnsizedInit4 | 22,172 | 🟢 -366 (1.62%) |
boxedAccountUnsized4 | 3,179 | 🟢 -123 (3.73%) |
boxedAccountUnsizedInit8 | 42,649 | 🟢 -636 (1.47%) |
boxedAccountUnsized8 | 6,158 | 🟢 -154 (2.44%) |
boxedInterfaceAccountMint1 | 2,407 | 🟢 -1 (0.04%) |
boxedInterfaceAccountMint2 | 4,250 | 🔴 +74 (1.77%) |
boxedInterfaceAccountMint4 | 7,924 | 🔴 +235 (3.06%) |
boxedInterfaceAccountMint8 | 15,462 | 🔴 +556 (3.73%) |
boxedInterfaceAccountToken1 | 2,134 | 🔴 +288 (15.60%) |
boxedInterfaceAccountToken2 | 3,703 | 🔴 +652 (21.37%) |
boxedInterfaceAccountToken4 | 6,833 | 🔴 +1,391 (25.56%) |
boxedInterfaceAccountToken8 | 13,279 | 🔴 +2,867 (27.54%) |
interfaceAccountMint1 | 2,475 | 🟢 -164 (6.21%) |
interfaceAccountMint2 | 5,151 | 🔴 +302 (6.23%) |
interfaceAccountMint4 | 9,944 | 🔴 +362 (3.78%) |
interfaceAccountMint8 | 18,581 | 🔴 +665 (3.71%) |
interfaceAccountToken1 | 2,202 | 🔴 +338 (18.13%) |
interfaceAccountToken2 | 4,069 | 🔴 +735 (22.05%) |
interfaceAccountToken4 | 7,688 | 🔴 +1,531 (24.87%) |
interface1 | 1,170 | 🔴 +62 (5.60%) |
interface2 | 1,600 | 🟢 -97 (5.72%) |
interface4 | 2,041 | 🟢 -106 (4.94%) |
interface8 | 3,827 | 🟢 -31 (0.80%) |
program1 | 1,164 | 🔴 +56 (5.05%) |
program2 | 1,588 | 🟢 -108 (6.37%) |
program4 | 2,019 | 🟢 -130 (6.05%) |
program8 | 3,779 | 🟢 -79 (2.05%) |
signer1 | 1,129 | 🔴 +62 (5.81%) |
signer2 | 1,695 | 🟢 -88 (4.94%) |
signer4 | 2,395 | 🟢 -87 (3.51%) |
signer8 | 4,691 | 🔴 +1 (0.02%) |
systemAccount1 | 1,183 | 🔴 +61 (5.44%) |
systemAccount2 | 1,801 | 🟢 -92 (4.86%) |
systemAccount4 | 2,606 | 🟢 -95 (3.52%) |
systemAccount8 | 5,116 | 🟢 -15 (0.29%) |
uncheckedAccount1 | 1,125 | 🔴 +63 (5.93%) |
uncheckedAccount2 | 1,686 | 🟢 -88 (4.96%) |
uncheckedAccount4 | 2,376 | 🟢 -87 (3.53%) |
uncheckedAccount8 | 4,652 | 🔴 +2 (0.04%) |
Notable changes
- Upgrading Solana to
1.16
. The difference in compute units usage between0.27.0
and0.28.0
is the direct result of upgrading Solana version(both build tools and crates) (#2512).
[0.27.0]
Solana version: 1.14.16
Instruction | Compute Units | +/- |
---|---|---|
accountInfo1 | 1,063 | N/A |
accountInfo2 | 1,774 | N/A |
accountInfo4 | 2,462 | N/A |
accountInfo8 | 4,651 | N/A |
accountEmptyInit1 | 6,648 | N/A |
accountEmpty1 | 1,199 | N/A |
accountEmptyInit2 | 11,747 | N/A |
accountEmpty2 | 2,059 | N/A |
accountEmptyInit4 | 21,696 | N/A |
accountEmpty4 | 3,049 | N/A |
accountEmptyInit8 | 41,612 | N/A |
accountEmpty8 | 5,838 | N/A |
accountSizedInit1 | 6,759 | N/A |
accountSized1 | 1,244 | N/A |
accountSizedInit2 | 11,968 | N/A |
accountSized2 | 2,173 | N/A |
accountSizedInit4 | 22,138 | N/A |
accountSized4 | 3,190 | N/A |
accountSizedInit8 | 42,500 | N/A |
accountSized8 | 6,154 | N/A |
accountUnsizedInit1 | 6,895 | N/A |
accountUnsized1 | 1,352 | N/A |
accountUnsizedInit2 | 12,239 | N/A |
accountUnsized2 | 2,100 | N/A |
accountUnsizedInit4 | 22,682 | N/A |
accountUnsized4 | 3,507 | N/A |
accountUnsizedInit8 | 43,586 | N/A |
accountUnsized8 | 6,846 | N/A |
boxedAccountEmptyInit1 | 6,850 | N/A |
boxedAccountEmpty1 | 1,085 | N/A |
boxedAccountEmptyInit2 | 11,957 | N/A |
boxedAccountEmpty2 | 1,706 | N/A |
boxedAccountEmptyInit4 | 21,639 | N/A |
boxedAccountEmpty4 | 2,933 | N/A |
boxedAccountEmptyInit8 | 41,486 | N/A |
boxedAccountEmpty8 | 5,575 | N/A |
boxedAccountSizedInit1 | 6,952 | N/A |
boxedAccountSized1 | 1,112 | N/A |
boxedAccountSizedInit2 | 12,160 | N/A |
boxedAccountSized2 | 1,761 | N/A |
boxedAccountSizedInit4 | 22,047 | N/A |
boxedAccountSized4 | 3,045 | N/A |
boxedAccountSizedInit8 | 42,301 | N/A |
boxedAccountSized8 | 5,798 | N/A |
boxedAccountUnsizedInit1 | 7,076 | N/A |
boxedAccountUnsized1 | 1,178 | N/A |
boxedAccountUnsizedInit2 | 12,408 | N/A |
boxedAccountUnsized2 | 1,886 | N/A |
boxedAccountUnsizedInit4 | 22,538 | N/A |
boxedAccountUnsized4 | 3,302 | N/A |
boxedAccountUnsizedInit8 | 43,285 | N/A |
boxedAccountUnsized8 | 6,312 | N/A |
boxedInterfaceAccountMint1 | 2,408 | N/A |
boxedInterfaceAccountMint2 | 4,176 | N/A |
boxedInterfaceAccountMint4 | 7,689 | N/A |
boxedInterfaceAccountMint8 | 14,906 | N/A |
boxedInterfaceAccountToken1 | 1,846 | N/A |
boxedInterfaceAccountToken2 | 3,051 | N/A |
boxedInterfaceAccountToken4 | 5,442 | N/A |
boxedInterfaceAccountToken8 | 10,412 | N/A |
interfaceAccountMint1 | 2,639 | N/A |
interfaceAccountMint2 | 4,849 | N/A |
interfaceAccountMint4 | 9,582 | N/A |
interfaceAccountMint8 | 17,916 | N/A |
interfaceAccountToken1 | 1,864 | N/A |
interfaceAccountToken2 | 3,334 | N/A |
interfaceAccountToken4 | 6,157 | N/A |
interface1 | 1,108 | N/A |
interface2 | 1,697 | N/A |
interface4 | 2,147 | N/A |
interface8 | 3,858 | N/A |
program1 | 1,108 | N/A |
program2 | 1,696 | N/A |
program4 | 2,149 | N/A |
program8 | 3,858 | N/A |
signer1 | 1,067 | N/A |
signer2 | 1,783 | N/A |
signer4 | 2,482 | N/A |
signer8 | 4,690 | N/A |
systemAccount1 | 1,122 | N/A |
systemAccount2 | 1,893 | N/A |
systemAccount4 | 2,701 | N/A |
systemAccount8 | 5,131 | N/A |
uncheckedAccount1 | 1,062 | N/A |
uncheckedAccount2 | 1,774 | N/A |
uncheckedAccount4 | 2,463 | N/A |
uncheckedAccount8 | 4,650 | N/A |