All notable changes in stack memory 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.
Solana version: 1.17.0
Instruction | Stack Memory | +/- |
---|---|---|
account_info1 | 272 | ๐ข -56 (17.07%) |
account_info2 | 320 | ๐ข -56 (14.89%) |
account_info4 | 416 | ๐ข -144 (25.71%) |
account_info8 | 608 | ๐ข -120 (16.48%) |
account_empty_init1 | 400 | ๐ข -192 (32.43%) |
account_empty_init2 | 480 | ๐ข -80 (14.29%) |
account_empty_init4 | 528 | ๐ข -104 (16.46%) |
account_empty_init8 | 720 | ๐ข -104 (12.62%) |
account_empty1 | 272 | ๐ข -48 (15.00%) |
account_empty2 | 320 | ๐ข -48 (13.04%) |
account_empty4 | 416 | ๐ข -136 (24.64%) |
account_empty8 | 608 | ๐ข -120 (16.48%) |
account_sized_init1 | 408 | ๐ข -192 (32.00%) |
account_sized_init2 | 496 | ๐ข -56 (10.14%) |
account_sized_init4 | 560 | ๐ข -104 (15.66%) |
account_sized_init8 | 784 | ๐ข -104 (11.71%) |
account_sized1 | 280 | ๐ข -48 (14.63%) |
account_sized2 | 336 | ๐ข -56 (14.29%) |
account_sized4 | 448 | ๐ข -120 (21.13%) |
account_sized8 | 672 | ๐ข -120 (15.15%) |
account_unsized_init1 | 424 | ๐ข -200 (32.05%) |
account_unsized_init2 | 528 | ๐ข -56 (9.59%) |
account_unsized_init4 | 624 | ๐ข -104 (14.29%) |
account_unsized_init8 | 912 | ๐ข -104 (10.24%) |
account_unsized1 | 296 | ๐ข -48 (13.95%) |
account_unsized2 | 368 | ๐ข -88 (19.30%) |
account_unsized4 | 512 | ๐ข -120 (18.99%) |
account_unsized8 | 800 | ๐ข -120 (13.04%) |
boxed_account_empty_init1 | 360 | ๐ข -192 (34.78%) |
boxed_account_empty_init2 | 400 | - |
boxed_account_empty_init4 | 368 | ๐ข -64 (14.81%) |
boxed_account_empty_init8 | 400 | ๐ข -96 (19.35%) |
boxed_account_empty1 | 232 | ๐ข -88 (27.50%) |
boxed_account_empty2 | 240 | ๐ข -80 (25.00%) |
boxed_account_empty4 | 256 | ๐ข -64 (20.00%) |
boxed_account_empty8 | 288 | ๐ข -48 (14.29%) |
boxed_account_sized_init1 | 360 | ๐ข -192 (34.78%) |
boxed_account_sized_init2 | 400 | - |
boxed_account_sized_init4 | 368 | ๐ข -64 (14.81%) |
boxed_account_sized_init8 | 400 | ๐ข -96 (19.35%) |
boxed_account_sized1 | 232 | ๐ข -88 (27.50%) |
boxed_account_sized2 | 240 | ๐ข -80 (25.00%) |
boxed_account_sized4 | 256 | ๐ข -64 (20.00%) |
boxed_account_sized8 | 288 | ๐ข -48 (14.29%) |
boxed_account_unsized_init1 | 360 | ๐ข -192 (34.78%) |
boxed_account_unsized_init2 | 400 | - |
boxed_account_unsized_init4 | 368 | ๐ข -64 (14.81%) |
boxed_account_unsized_init8 | 400 | ๐ข -96 (19.35%) |
boxed_account_unsized1 | 232 | ๐ข -88 (27.50%) |
boxed_account_unsized2 | 240 | ๐ข -80 (25.00%) |
boxed_account_unsized4 | 256 | ๐ข -64 (20.00%) |
boxed_account_unsized8 | 288 | ๐ข -48 (14.29%) |
boxed_interface_account_mint1 | 232 | ๐ข -88 (27.50%) |
boxed_interface_account_mint2 | 240 | ๐ข -80 (25.00%) |
boxed_interface_account_mint4 | 256 | ๐ข -64 (20.00%) |
boxed_interface_account_mint8 | 288 | ๐ข -48 (14.29%) |
boxed_interface_account_token1 | 232 | ๐ข -88 (27.50%) |
boxed_interface_account_token2 | 240 | ๐ข -80 (25.00%) |
boxed_interface_account_token4 | 256 | ๐ข -64 (20.00%) |
boxed_interface_account_token8 | 288 | ๐ข -48 (14.29%) |
interface_account_mint1 | 392 | ๐ข -112 (22.22%) |
interface_account_mint2 | 560 | ๐ข -120 (17.65%) |
interface_account_mint4 | 896 | ๐ข -120 (11.81%) |
interface_account_mint8 | 1,568 | ๐ข -120 (7.11%) |
interface_account_token1 | 480 | ๐ข -200 (29.41%) |
interface_account_token2 | 736 | ๐ข -120 (14.02%) |
interface_account_token4 | 1,248 | ๐ข -120 (8.77%) |
interface1 | 272 | ๐ข -48 (15.00%) |
interface2 | 320 | ๐ข -48 (13.04%) |
interface4 | 416 | ๐ข -136 (24.64%) |
interface8 | 608 | ๐ข -120 (16.48%) |
program1 | 272 | ๐ข -48 (15.00%) |
program2 | 320 | ๐ข -48 (13.04%) |
program4 | 416 | ๐ข -136 (24.64%) |
program8 | 608 | ๐ข -120 (16.48%) |
signer1 | 272 | ๐ข -56 (17.07%) |
signer2 | 320 | ๐ข -56 (14.89%) |
signer4 | 416 | ๐ข -144 (25.71%) |
signer8 | 608 | ๐ข -120 (16.48%) |
system_account1 | 272 | ๐ข -56 (17.07%) |
system_account2 | 320 | ๐ข -56 (14.89%) |
system_account4 | 416 | ๐ข -144 (25.71%) |
system_account8 | 608 | ๐ข -120 (16.48%) |
unchecked_account1 | 272 | ๐ข -56 (17.07%) |
unchecked_account2 | 320 | ๐ข -56 (14.89%) |
unchecked_account4 | 416 | ๐ข -144 (25.71%) |
unchecked_account8 | 608 | ๐ข -120 (16.48%) |
Box
the anchor_lang::Result
error variants (#2600).Solana version: 1.16.0
Instruction | Stack Memory | +/- |
---|---|---|
account_info1 | 328 | ๐ด +80 (32.26%) |
account_info2 | 376 | ๐ข -16 (4.08%) |
account_info4 | 560 | ๐ด +48 (9.38%) |
account_info8 | 728 | ๐ข -168 (18.75%) |
account_empty_init1 | 592 | ๐ด +8 (1.37%) |
account_empty_init2 | 560 | ๐ด +48 (9.38%) |
account_empty_init4 | 632 | ๐ข -72 (10.23%) |
account_empty_init8 | 824 | ๐ข -264 (24.26%) |
account_empty1 | 320 | ๐ด +120 (60.00%) |
account_empty2 | 368 | ๐ด +24 (6.98%) |
account_empty4 | 552 | ๐ด +88 (18.97%) |
account_empty8 | 728 | ๐ข -120 (14.15%) |
account_sized_init1 | 600 | ๐ด +8 (1.35%) |
account_sized_init2 | 552 | ๐ด +8 (1.47%) |
account_sized_init4 | 664 | ๐ข -104 (13.54%) |
account_sized_init8 | 888 | ๐ข -328 (26.97%) |
account_sized1 | 328 | ๐ด +128 (64.00%) |
account_sized2 | 392 | ๐ด +32 (8.89%) |
account_sized4 | 568 | ๐ด +40 (7.58%) |
account_sized8 | 792 | ๐ข -184 (18.85%) |
account_unsized_init1 | 624 | ๐ด +16 (2.63%) |
account_unsized_init2 | 584 | ๐ข -24 (3.95%) |
account_unsized_init4 | 728 | ๐ข -168 (18.75%) |
account_unsized_init8 | 1,016 | ๐ข -456 (30.98%) |
account_unsized1 | 344 | ๐ด +168 (95.45%) |
account_unsized2 | 456 | ๐ด +64 (16.33%) |
account_unsized4 | 632 | ๐ข -24 (3.66%) |
account_unsized8 | 920 | ๐ข -312 (25.32%) |
boxed_account_empty_init1 | 552 | ๐ด +8 (1.47%) |
boxed_account_empty_init2 | 400 | ๐ข -8 (1.96%) |
boxed_account_empty_init4 | 432 | ๐ด +8 (1.89%) |
boxed_account_empty_init8 | 496 | ๐ด +40 (8.77%) |
boxed_account_empty1 | 320 | ๐ด +80 (33.33%) |
boxed_account_empty2 | 320 | ๐ด +72 (29.03%) |
boxed_account_empty4 | 320 | ๐ด +40 (14.29%) |
boxed_account_empty8 | 336 | ๐ด +24 (7.69%) |
boxed_account_sized_init1 | 552 | ๐ด +8 (1.47%) |
boxed_account_sized_init2 | 400 | ๐ข -8 (1.96%) |
boxed_account_sized_init4 | 432 | ๐ด +8 (1.89%) |
boxed_account_sized_init8 | 496 | ๐ด +40 (8.77%) |
boxed_account_sized1 | 320 | ๐ด +80 (33.33%) |
boxed_account_sized2 | 320 | ๐ด +72 (29.03%) |
boxed_account_sized4 | 320 | ๐ด +40 (14.29%) |
boxed_account_sized8 | 336 | ๐ด +24 (7.69%) |
boxed_account_unsized_init1 | 552 | ๐ด +8 (1.47%) |
boxed_account_unsized_init2 | 400 | ๐ข -8 (1.96%) |
boxed_account_unsized_init4 | 432 | ๐ด +8 (1.89%) |
boxed_account_unsized_init8 | 496 | ๐ด +40 (8.77%) |
boxed_account_unsized1 | 320 | ๐ด +72 (29.03%) |
boxed_account_unsized2 | 320 | ๐ด +72 (29.03%) |
boxed_account_unsized4 | 320 | ๐ด +40 (14.29%) |
boxed_account_unsized8 | 336 | ๐ด +24 (7.69%) |
boxed_interface_account_mint1 | 320 | ๐ด +80 (33.33%) |
boxed_interface_account_mint2 | 320 | ๐ด +72 (29.03%) |
boxed_interface_account_mint4 | 320 | ๐ด +40 (14.29%) |
boxed_interface_account_mint8 | 336 | ๐ด +24 (7.69%) |
boxed_interface_account_token1 | 320 | ๐ด +80 (33.33%) |
boxed_interface_account_token2 | 320 | ๐ด +72 (29.03%) |
boxed_interface_account_token4 | 320 | ๐ด +40 (14.29%) |
boxed_interface_account_token8 | 336 | ๐ด +24 (7.69%) |
interface_account_mint1 | 504 | ๐ด +296 (142.31%) |
interface_account_mint2 | 680 | ๐ข -72 (9.57%) |
interface_account_mint4 | 1,016 | ๐ข -408 (28.65%) |
interface_account_mint8 | 1,688 | ๐ข -1,080 (39.02%) |
interface_account_token1 | 680 | ๐ด +416 (157.58%) |
interface_account_token2 | 856 | ๐ข -248 (22.46%) |
interface_account_token4 | 1,368 | ๐ข -760 (35.71%) |
interface1 | 320 | ๐ด +120 (60.00%) |
interface2 | 368 | ๐ด +24 (6.98%) |
interface4 | 552 | ๐ด +88 (18.97%) |
interface8 | 728 | ๐ข -120 (14.15%) |
program1 | 320 | ๐ด +120 (60.00%) |
program2 | 368 | ๐ด +24 (6.98%) |
program4 | 552 | ๐ด +88 (18.97%) |
program8 | 728 | ๐ข -120 (14.15%) |
signer1 | 328 | ๐ด +80 (32.26%) |
signer2 | 376 | ๐ข -16 (4.08%) |
signer4 | 560 | ๐ด +48 (9.38%) |
signer8 | 728 | ๐ข -168 (18.75%) |
system_account1 | 328 | ๐ด +80 (32.26%) |
system_account2 | 376 | ๐ข -16 (4.08%) |
system_account4 | 560 | ๐ด +48 (9.38%) |
system_account8 | 728 | ๐ข -168 (18.75%) |
unchecked_account1 | 328 | ๐ด +80 (32.26%) |
unchecked_account2 | 376 | ๐ข -16 (4.08%) |
unchecked_account4 | 560 | ๐ด +48 (9.38%) |
unchecked_account8 | 728 | ๐ข -168 (18.75%) |
1.16
. The difference in stack memory usage between 0.27.0
and 0.28.0
is the direct result of upgrading Solana version(both build tools and crates) (#2512).Solana version: 1.14.16
Instruction | Stack Memory | +/- |
---|---|---|
account_info1 | 248 | N/A |
account_info2 | 392 | N/A |
account_info4 | 512 | N/A |
account_info8 | 896 | N/A |
account_empty_init1 | 584 | N/A |
account_empty_init2 | 512 | N/A |
account_empty_init4 | 704 | N/A |
account_empty_init8 | 1,088 | N/A |
account_empty1 | 200 | N/A |
account_empty2 | 344 | N/A |
account_empty4 | 464 | N/A |
account_empty8 | 848 | N/A |
account_sized_init1 | 592 | N/A |
account_sized_init2 | 544 | N/A |
account_sized_init4 | 768 | N/A |
account_sized_init8 | 1,216 | N/A |
account_sized1 | 200 | N/A |
account_sized2 | 360 | N/A |
account_sized4 | 528 | N/A |
account_sized8 | 976 | N/A |
account_unsized_init1 | 608 | N/A |
account_unsized_init2 | 608 | N/A |
account_unsized_init4 | 896 | N/A |
account_unsized_init8 | 1,472 | N/A |
account_unsized1 | 176 | N/A |
account_unsized2 | 392 | N/A |
account_unsized4 | 656 | N/A |
account_unsized8 | 1,232 | N/A |
boxed_account_empty_init1 | 544 | N/A |
boxed_account_empty_init2 | 408 | N/A |
boxed_account_empty_init4 | 424 | N/A |
boxed_account_empty_init8 | 456 | N/A |
boxed_account_empty1 | 240 | N/A |
boxed_account_empty2 | 248 | N/A |
boxed_account_empty4 | 280 | N/A |
boxed_account_empty8 | 312 | N/A |
boxed_account_sized_init1 | 544 | N/A |
boxed_account_sized_init2 | 408 | N/A |
boxed_account_sized_init4 | 424 | N/A |
boxed_account_sized_init8 | 456 | N/A |
boxed_account_sized1 | 240 | N/A |
boxed_account_sized2 | 248 | N/A |
boxed_account_sized4 | 280 | N/A |
boxed_account_sized8 | 312 | N/A |
boxed_account_unsized_init1 | 544 | N/A |
boxed_account_unsized_init2 | 408 | N/A |
boxed_account_unsized_init4 | 424 | N/A |
boxed_account_unsized_init8 | 456 | N/A |
boxed_account_unsized1 | 248 | N/A |
boxed_account_unsized2 | 248 | N/A |
boxed_account_unsized4 | 280 | N/A |
boxed_account_unsized8 | 312 | N/A |
boxed_interface_account_mint1 | 240 | N/A |
boxed_interface_account_mint2 | 248 | N/A |
boxed_interface_account_mint4 | 280 | N/A |
boxed_interface_account_mint8 | 312 | N/A |
boxed_interface_account_token1 | 240 | N/A |
boxed_interface_account_token2 | 248 | N/A |
boxed_interface_account_token4 | 280 | N/A |
boxed_interface_account_token8 | 312 | N/A |
interface_account_mint1 | 208 | N/A |
interface_account_mint2 | 752 | N/A |
interface_account_mint4 | 1,424 | N/A |
interface_account_mint8 | 2,768 | N/A |
interface_account_token1 | 264 | N/A |
interface_account_token2 | 1,104 | N/A |
interface_account_token4 | 2,128 | N/A |
interface1 | 200 | N/A |
interface2 | 344 | N/A |
interface4 | 464 | N/A |
interface8 | 848 | N/A |
program1 | 200 | N/A |
program2 | 344 | N/A |
program4 | 464 | N/A |
program8 | 848 | N/A |
signer1 | 248 | N/A |
signer2 | 392 | N/A |
signer4 | 512 | N/A |
signer8 | 896 | N/A |
system_account1 | 248 | N/A |
system_account2 | 392 | N/A |
system_account4 | 512 | N/A |
system_account8 | 896 | N/A |
unchecked_account1 | 248 | N/A |
unchecked_account2 | 392 | N/A |
unchecked_account4 | 512 | N/A |
unchecked_account8 | 896 | N/A |