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: 2.1.0
Instruction | Stack Memory | - |
---|---|---|
account_info1 | 46 | - |
account_info2 | 80 | - |
account_info4 | 80 | - |
account_info8 | 80 | - |
account_empty_init1 | 88 | - |
account_empty_init2 | 88 | - |
account_empty_init4 | 88 | - |
account_empty_init8 | 88 | - |
account_empty1 | 88 | - |
account_empty2 | 88 | - |
account_empty4 | 88 | - |
account_empty8 | 88 | - |
account_sized_init1 | 88 | - |
account_sized_init2 | 88 | - |
account_sized_init4 | 88 | - |
account_sized_init8 | 88 | - |
account_sized1 | 88 | - |
account_sized2 | 88 | - |
account_sized4 | 88 | - |
account_sized8 | 88 | - |
account_unsized_init1 | 88 | - |
account_unsized_init2 | 88 | - |
account_unsized_init4 | 88 | - |
account_unsized_init8 | 88 | - |
account_unsized1 | 88 | - |
account_unsized2 | 88 | - |
account_unsized4 | 88 | - |
account_unsized8 | 88 | - |
boxed_account_empty_init1 | 88 | - |
boxed_account_empty_init2 | 88 | - |
boxed_account_empty_init4 | 88 | - |
boxed_account_empty_init8 | 88 | - |
boxed_account_empty1 | 88 | - |
boxed_account_empty2 | 88 | - |
boxed_account_empty4 | 88 | - |
boxed_account_empty8 | 88 | - |
boxed_account_sized_init1 | 88 | - |
boxed_account_sized_init2 | 88 | - |
boxed_account_sized_init4 | 88 | - |
boxed_account_sized_init8 | 88 | - |
boxed_account_sized1 | 88 | - |
boxed_account_sized2 | 88 | - |
boxed_account_sized4 | 88 | - |
boxed_account_sized8 | 88 | - |
boxed_account_unsized_init1 | 88 | - |
boxed_account_unsized_init2 | 88 | - |
boxed_account_unsized_init4 | 88 | - |
boxed_account_unsized_init8 | 88 | - |
boxed_account_unsized1 | 88 | - |
boxed_account_unsized2 | 88 | - |
boxed_account_unsized4 | 88 | - |
boxed_account_unsized8 | 88 | - |
boxed_interface_account_mint1 | 88 | - |
boxed_interface_account_mint2 | 88 | - |
boxed_interface_account_mint4 | 88 | - |
boxed_interface_account_mint8 | 88 | - |
boxed_interface_account_token1 | 88 | - |
boxed_interface_account_token2 | 88 | - |
boxed_interface_account_token4 | 88 | - |
boxed_interface_account_token8 | 88 | - |
interface_account_mint1 | 88 | - |
interface_account_mint2 | 88 | - |
interface_account_mint4 | 88 | - |
interface_account_mint8 | 88 | - |
interface_account_token1 | 80 | - |
interface_account_token2 | 80 | - |
interface_account_token4 | 80 | - |
interface1 | 88 | - |
interface2 | 88 | - |
interface4 | 88 | - |
interface8 | 88 | - |
program1 | 88 | - |
program2 | 88 | - |
program4 | 88 | - |
program8 | 88 | - |
signer1 | 88 | - |
signer2 | 88 | - |
signer4 | 88 | - |
signer8 | 88 | - |
system_account1 | 88 | - |
system_account2 | 88 | - |
system_account4 | 88 | - |
system_account8 | 88 | - |
unchecked_account1 | 88 | - |
unchecked_account2 | 88 | - |
unchecked_account4 | 88 | - |
unchecked_account8 | 88 | - |
Solana version: 2.1.0
Instruction | Stack Memory | - |
---|---|---|
account_info1 | 46 | - |
account_info2 | 80 | - |
account_info4 | 80 | - |
account_info8 | 80 | - |
account_empty_init1 | 88 | - |
account_empty_init2 | 88 | - |
account_empty_init4 | 88 | - |
account_empty_init8 | 88 | - |
account_empty1 | 88 | - |
account_empty2 | 88 | - |
account_empty4 | 88 | - |
account_empty8 | 88 | - |
account_sized_init1 | 88 | - |
account_sized_init2 | 88 | - |
account_sized_init4 | 88 | - |
account_sized_init8 | 88 | - |
account_sized1 | 88 | - |
account_sized2 | 88 | - |
account_sized4 | 88 | - |
account_sized8 | 88 | - |
account_unsized_init1 | 88 | - |
account_unsized_init2 | 88 | - |
account_unsized_init4 | 88 | - |
account_unsized_init8 | 88 | - |
account_unsized1 | 88 | - |
account_unsized2 | 88 | - |
account_unsized4 | 88 | - |
account_unsized8 | 88 | - |
boxed_account_empty_init1 | 88 | - |
boxed_account_empty_init2 | 88 | - |
boxed_account_empty_init4 | 88 | - |
boxed_account_empty_init8 | 88 | - |
boxed_account_empty1 | 88 | - |
boxed_account_empty2 | 88 | - |
boxed_account_empty4 | 88 | - |
boxed_account_empty8 | 88 | - |
boxed_account_sized_init1 | 88 | - |
boxed_account_sized_init2 | 88 | - |
boxed_account_sized_init4 | 88 | - |
boxed_account_sized_init8 | 88 | - |
boxed_account_sized1 | 88 | - |
boxed_account_sized2 | 88 | - |
boxed_account_sized4 | 88 | - |
boxed_account_sized8 | 88 | - |
boxed_account_unsized_init1 | 88 | - |
boxed_account_unsized_init2 | 88 | - |
boxed_account_unsized_init4 | 88 | - |
boxed_account_unsized_init8 | 88 | - |
boxed_account_unsized1 | 88 | - |
boxed_account_unsized2 | 88 | - |
boxed_account_unsized4 | 88 | - |
boxed_account_unsized8 | 88 | - |
boxed_interface_account_mint1 | 88 | - |
boxed_interface_account_mint2 | 88 | - |
boxed_interface_account_mint4 | 88 | - |
boxed_interface_account_mint8 | 88 | - |
boxed_interface_account_token1 | 88 | - |
boxed_interface_account_token2 | 88 | - |
boxed_interface_account_token4 | 88 | - |
boxed_interface_account_token8 | 88 | - |
interface_account_mint1 | 88 | - |
interface_account_mint2 | 88 | - |
interface_account_mint4 | 88 | - |
interface_account_mint8 | 88 | - |
interface_account_token1 | 80 | - |
interface_account_token2 | 80 | - |
interface_account_token4 | 80 | - |
interface1 | 88 | - |
interface2 | 88 | - |
interface4 | 88 | - |
interface8 | 88 | - |
program1 | 88 | - |
program2 | 88 | - |
program4 | 88 | - |
program8 | 88 | - |
signer1 | 88 | - |
signer2 | 88 | - |
signer4 | 88 | - |
signer8 | 88 | - |
system_account1 | 88 | - |
system_account2 | 88 | - |
system_account4 | 88 | - |
system_account8 | 88 | - |
unchecked_account1 | 88 | - |
unchecked_account2 | 88 | - |
unchecked_account4 | 88 | - |
unchecked_account8 | 88 | - |
Solana version: 2.1.0
Instruction | Stack Memory | - |
---|---|---|
account_info1 | 46 | ๐ข -98 (68.06%) |
account_info2 | 80 | ๐ข -64 (44.44%) |
account_info4 | 80 | ๐ข -64 (44.44%) |
account_info8 | 80 | ๐ข -64 (44.44%) |
account_empty_init1 | 88 | ๐ข -56 (38.89%) |
account_empty_init2 | 88 | ๐ข -56 (38.89%) |
account_empty_init4 | 88 | ๐ข -104 (54.17%) |
account_empty_init8 | 88 | ๐ข -136 (60.71%) |
account_empty1 | 88 | ๐ข -56 (38.89%) |
account_empty2 | 88 | ๐ข -56 (38.89%) |
account_empty4 | 88 | ๐ข -56 (38.89%) |
account_empty8 | 88 | ๐ข -56 (38.89%) |
account_sized_init1 | 88 | ๐ข -88 (50.00%) |
account_sized_init2 | 88 | ๐ข -104 (54.17%) |
account_sized_init4 | 88 | ๐ข -136 (60.71%) |
account_sized_init8 | 88 | ๐ข -200 (69.44%) |
account_sized1 | 88 | ๐ข -56 (38.89%) |
account_sized2 | 88 | ๐ข -56 (38.89%) |
account_sized4 | 88 | ๐ข -56 (38.89%) |
account_sized8 | 88 | ๐ข -56 (38.89%) |
account_unsized_init1 | 88 | ๐ข -104 (54.17%) |
account_unsized_init2 | 88 | ๐ข -136 (60.71%) |
account_unsized_init4 | 88 | ๐ข -200 (69.44%) |
account_unsized_init8 | 88 | ๐ข -328 (78.85%) |
account_unsized1 | 88 | ๐ข -56 (38.89%) |
account_unsized2 | 88 | ๐ข -56 (38.89%) |
account_unsized4 | 88 | ๐ข -56 (38.89%) |
account_unsized8 | 88 | ๐ข -56 (38.89%) |
boxed_account_empty_init1 | 88 | ๐ข -56 (38.89%) |
boxed_account_empty_init2 | 88 | ๐ข -56 (38.89%) |
boxed_account_empty_init4 | 88 | ๐ข -104 (54.17%) |
boxed_account_empty_init8 | 88 | ๐ข -136 (60.71%) |
boxed_account_empty1 | 88 | ๐ข -56 (38.89%) |
boxed_account_empty2 | 88 | ๐ข -56 (38.89%) |
boxed_account_empty4 | 88 | ๐ข -56 (38.89%) |
boxed_account_empty8 | 88 | ๐ข -56 (38.89%) |
boxed_account_sized_init1 | 88 | ๐ข -56 (38.89%) |
boxed_account_sized_init2 | 88 | ๐ข -56 (38.89%) |
boxed_account_sized_init4 | 88 | ๐ข -104 (54.17%) |
boxed_account_sized_init8 | 88 | ๐ข -136 (60.71%) |
boxed_account_sized1 | 88 | ๐ข -56 (38.89%) |
boxed_account_sized2 | 88 | ๐ข -56 (38.89%) |
boxed_account_sized4 | 88 | ๐ข -56 (38.89%) |
boxed_account_sized8 | 88 | ๐ข -56 (38.89%) |
boxed_account_unsized_init1 | 88 | ๐ข -56 (38.89%) |
boxed_account_unsized_init2 | 88 | ๐ข -56 (38.89%) |
boxed_account_unsized_init4 | 88 | ๐ข -104 (54.17%) |
boxed_account_unsized_init8 | 88 | ๐ข -136 (60.71%) |
boxed_account_unsized1 | 88 | ๐ข -56 (38.89%) |
boxed_account_unsized2 | 88 | ๐ข -56 (38.89%) |
boxed_account_unsized4 | 88 | ๐ข -56 (38.89%) |
boxed_account_unsized8 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_mint1 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_mint2 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_mint4 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_mint8 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_token1 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_token2 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_token4 | 88 | ๐ข -56 (38.89%) |
boxed_interface_account_token8 | 88 | ๐ข -56 (38.89%) |
interface_account_mint1 | 88 | ๐ข -56 (38.89%) |
interface_account_mint2 | 88 | ๐ข -56 (38.89%) |
interface_account_mint4 | 88 | ๐ข -56 (38.89%) |
interface_account_mint8 | 88 | ๐ข -56 (38.89%) |
interface_account_token1 | 80 | ๐ข -64 (44.44%) |
interface_account_token2 | 80 | ๐ข -64 (44.44%) |
interface_account_token4 | 80 | ๐ข -64 (44.44%) |
interface1 | 88 | ๐ข -56 (38.89%) |
interface2 | 88 | ๐ข -56 (38.89%) |
interface4 | 88 | ๐ข -56 (38.89%) |
interface8 | 88 | ๐ข -56 (38.89%) |
program1 | 88 | ๐ข -56 (38.89%) |
program2 | 88 | ๐ข -56 (38.89%) |
program4 | 88 | ๐ข -56 (38.89%) |
program8 | 88 | ๐ข -56 (38.89%) |
signer1 | 88 | ๐ข -56 (38.89%) |
signer2 | 88 | ๐ข -56 (38.89%) |
signer4 | 88 | ๐ข -56 (38.89%) |
signer8 | 88 | ๐ข -56 (38.89%) |
system_account1 | 88 | ๐ข -56 (38.89%) |
system_account2 | 88 | ๐ข -56 (38.89%) |
system_account4 | 88 | ๐ข -56 (38.89%) |
system_account8 | 88 | ๐ข -56 (38.89%) |
unchecked_account1 | 88 | ๐ข -56 (38.89%) |
unchecked_account2 | 88 | ๐ข -56 (38.89%) |
unchecked_account4 | 88 | ๐ข -56 (38.89%) |
unchecked_account8 | 88 | ๐ข -56 (38.89%) |
init
constraints to reduce the stack usage of try_accounts
(#2939).Solana version: 1.18.17
Instruction | Stack Memory | - |
---|---|---|
account_info1 | 144 | - |
account_info2 | 144 | - |
account_info4 | 144 | - |
account_info8 | 144 | - |
account_empty_init1 | 144 | - |
account_empty_init2 | 144 | - |
account_empty_init4 | 192 | - |
account_empty_init8 | 224 | - |
account_empty1 | 144 | - |
account_empty2 | 144 | - |
account_empty4 | 144 | - |
account_empty8 | 144 | - |
account_sized_init1 | 176 | - |
account_sized_init2 | 192 | - |
account_sized_init4 | 224 | - |
account_sized_init8 | 288 | - |
account_sized1 | 144 | - |
account_sized2 | 144 | - |
account_sized4 | 144 | - |
account_sized8 | 144 | - |
account_unsized_init1 | 192 | - |
account_unsized_init2 | 224 | - |
account_unsized_init4 | 288 | - |
account_unsized_init8 | 416 | - |
account_unsized1 | 144 | - |
account_unsized2 | 144 | - |
account_unsized4 | 144 | - |
account_unsized8 | 144 | - |
boxed_account_empty_init1 | 144 | - |
boxed_account_empty_init2 | 144 | - |
boxed_account_empty_init4 | 192 | - |
boxed_account_empty_init8 | 224 | - |
boxed_account_empty1 | 144 | - |
boxed_account_empty2 | 144 | - |
boxed_account_empty4 | 144 | - |
boxed_account_empty8 | 144 | - |
boxed_account_sized_init1 | 144 | - |
boxed_account_sized_init2 | 144 | - |
boxed_account_sized_init4 | 192 | - |
boxed_account_sized_init8 | 224 | - |
boxed_account_sized1 | 144 | - |
boxed_account_sized2 | 144 | - |
boxed_account_sized4 | 144 | - |
boxed_account_sized8 | 144 | - |
boxed_account_unsized_init1 | 144 | - |
boxed_account_unsized_init2 | 144 | - |
boxed_account_unsized_init4 | 192 | - |
boxed_account_unsized_init8 | 224 | - |
boxed_account_unsized1 | 144 | - |
boxed_account_unsized2 | 144 | - |
boxed_account_unsized4 | 144 | - |
boxed_account_unsized8 | 144 | - |
boxed_interface_account_mint1 | 144 | - |
boxed_interface_account_mint2 | 144 | - |
boxed_interface_account_mint4 | 144 | - |
boxed_interface_account_mint8 | 144 | - |
boxed_interface_account_token1 | 144 | - |
boxed_interface_account_token2 | 144 | - |
boxed_interface_account_token4 | 144 | - |
boxed_interface_account_token8 | 144 | - |
interface_account_mint1 | 144 | - |
interface_account_mint2 | 144 | - |
interface_account_mint4 | 144 | - |
interface_account_mint8 | 144 | - |
interface_account_token1 | 144 | - |
interface_account_token2 | 144 | - |
interface_account_token4 | 144 | - |
interface1 | 144 | - |
interface2 | 144 | - |
interface4 | 144 | - |
interface8 | 144 | - |
program1 | 144 | - |
program2 | 144 | - |
program4 | 144 | - |
program8 | 144 | - |
signer1 | 144 | - |
signer2 | 144 | - |
signer4 | 144 | - |
signer8 | 144 | - |
system_account1 | 144 | - |
system_account2 | 144 | - |
system_account4 | 144 | - |
system_account8 | 144 | - |
unchecked_account1 | 144 | - |
unchecked_account2 | 144 | - |
unchecked_account4 | 144 | - |
unchecked_account8 | 144 | - |
Solana version: 1.18.8
Instruction | Stack Memory | - |
---|---|---|
account_info1 | 144 | ๐ด +16 (12.50%) |
account_info2 | 144 | ๐ด +16 (12.50%) |
account_info4 | 144 | ๐ด +16 (12.50%) |
account_info8 | 144 | ๐ด +16 (12.50%) |
account_empty_init1 | 144 | ๐ข -32 (18.18%) |
account_empty_init2 | 144 | ๐ข -64 (30.77%) |
account_empty_init4 | 192 | ๐ข -16 (7.69%) |
account_empty_init8 | 224 | ๐ข -16 (6.67%) |
account_empty1 | 144 | ๐ด +16 (12.50%) |
account_empty2 | 144 | ๐ด +16 (12.50%) |
account_empty4 | 144 | ๐ด +16 (12.50%) |
account_empty8 | 144 | ๐ด +16 (12.50%) |
account_sized_init1 | 176 | ๐ข -32 (15.38%) |
account_sized_init2 | 192 | ๐ข -64 (25.00%) |
account_sized_init4 | 224 | ๐ข -16 (6.67%) |
account_sized_init8 | 288 | ๐ข -16 (5.26%) |
account_sized1 | 144 | ๐ด +16 (12.50%) |
account_sized2 | 144 | ๐ด +16 (12.50%) |
account_sized4 | 144 | ๐ด +16 (12.50%) |
account_sized8 | 144 | ๐ด +16 (12.50%) |
account_unsized_init1 | 192 | ๐ข -32 (14.29%) |
account_unsized_init2 | 224 | ๐ข -72 (24.32%) |
account_unsized_init4 | 288 | ๐ข -16 (5.26%) |
account_unsized_init8 | 416 | ๐ข -16 (3.70%) |
account_unsized1 | 144 | ๐ด +16 (12.50%) |
account_unsized2 | 144 | - |
account_unsized4 | 144 | ๐ด +16 (12.50%) |
account_unsized8 | 144 | ๐ด +16 (12.50%) |
boxed_account_empty_init1 | 144 | ๐ข -32 (18.18%) |
boxed_account_empty_init2 | 144 | ๐ข -64 (30.77%) |
boxed_account_empty_init4 | 192 | ๐ข -16 (7.69%) |
boxed_account_empty_init8 | 224 | ๐ข -16 (6.67%) |
boxed_account_empty1 | 144 | ๐ด +16 (12.50%) |
boxed_account_empty2 | 144 | ๐ด +16 (12.50%) |
boxed_account_empty4 | 144 | - |
boxed_account_empty8 | 144 | - |
boxed_account_sized_init1 | 144 | ๐ข -32 (18.18%) |
boxed_account_sized_init2 | 144 | ๐ข -64 (30.77%) |
boxed_account_sized_init4 | 192 | ๐ข -16 (7.69%) |
boxed_account_sized_init8 | 224 | ๐ข -16 (6.67%) |
boxed_account_sized1 | 144 | ๐ด +16 (12.50%) |
boxed_account_sized2 | 144 | ๐ด +16 (12.50%) |
boxed_account_sized4 | 144 | - |
boxed_account_sized8 | 144 | - |
boxed_account_unsized_init1 | 144 | ๐ข -32 (18.18%) |
boxed_account_unsized_init2 | 144 | ๐ข -64 (30.77%) |
boxed_account_unsized_init4 | 192 | ๐ข -16 (7.69%) |
boxed_account_unsized_init8 | 224 | ๐ข -16 (6.67%) |
boxed_account_unsized1 | 144 | ๐ด +16 (12.50%) |
boxed_account_unsized2 | 144 | - |
boxed_account_unsized4 | 144 | ๐ด +16 (12.50%) |
boxed_account_unsized8 | 144 | ๐ด +16 (12.50%) |
boxed_interface_account_mint1 | 144 | ๐ด +16 (12.50%) |
boxed_interface_account_mint2 | 144 | ๐ด +16 (12.50%) |
boxed_interface_account_mint4 | 144 | - |
boxed_interface_account_mint8 | 144 | - |
boxed_interface_account_token1 | 144 | ๐ด +16 (12.50%) |
boxed_interface_account_token2 | 144 | ๐ด +16 (12.50%) |
boxed_interface_account_token4 | 144 | - |
boxed_interface_account_token8 | 144 | - |
interface_account_mint1 | 144 | ๐ด +16 (12.50%) |
interface_account_mint2 | 144 | ๐ด +16 (12.50%) |
interface_account_mint4 | 144 | ๐ด +16 (12.50%) |
interface_account_mint8 | 144 | ๐ด +16 (12.50%) |
interface_account_token1 | 144 | ๐ด +16 (12.50%) |
interface_account_token2 | 144 | ๐ด +16 (12.50%) |
interface_account_token4 | 144 | ๐ด +16 (12.50%) |
interface1 | 144 | ๐ด +16 (12.50%) |
interface2 | 144 | ๐ด +16 (12.50%) |
interface4 | 144 | ๐ด +16 (12.50%) |
interface8 | 144 | ๐ด +16 (12.50%) |
program1 | 144 | ๐ด +16 (12.50%) |
program2 | 144 | ๐ด +16 (12.50%) |
program4 | 144 | ๐ด +16 (12.50%) |
program8 | 144 | ๐ด +16 (12.50%) |
signer1 | 144 | ๐ด +16 (12.50%) |
signer2 | 144 | ๐ด +16 (12.50%) |
signer4 | 144 | ๐ด +16 (12.50%) |
signer8 | 144 | ๐ด +16 (12.50%) |
system_account1 | 144 | ๐ด +16 (12.50%) |
system_account2 | 144 | ๐ด +16 (12.50%) |
system_account4 | 144 | ๐ด +16 (12.50%) |
system_account8 | 144 | ๐ด +16 (12.50%) |
unchecked_account1 | 144 | ๐ด +16 (12.50%) |
unchecked_account2 | 144 | ๐ด +16 (12.50%) |
unchecked_account4 | 144 | ๐ด +16 (12.50%) |
unchecked_account8 | 144 | ๐ด +16 (12.50%) |
1.18.8
(#2867).Solana version: 1.17.0
Instruction | Stack Memory | +/- |
---|---|---|
account_info1 | 128 | ๐ข -200 (60.98%) |
account_info2 | 128 | ๐ข -248 (65.96%) |
account_info4 | 128 | ๐ข -432 (77.14%) |
account_info8 | 128 | ๐ข -600 (82.42%) |
account_empty_init1 | 176 | ๐ข -416 (70.27%) |
account_empty_init2 | 208 | ๐ข -352 (62.86%) |
account_empty_init4 | 208 | ๐ข -424 (67.09%) |
account_empty_init8 | 240 | ๐ข -584 (70.87%) |
account_empty1 | 128 | ๐ข -192 (60.00%) |
account_empty2 | 128 | ๐ข -240 (65.22%) |
account_empty4 | 128 | ๐ข -424 (76.81%) |
account_empty8 | 128 | ๐ข -600 (82.42%) |
account_sized_init1 | 208 | ๐ข -392 (65.33%) |
account_sized_init2 | 256 | ๐ข -296 (53.62%) |
account_sized_init4 | 240 | ๐ข -424 (63.86%) |
account_sized_init8 | 304 | ๐ข -584 (65.77%) |
account_sized1 | 128 | ๐ข -200 (60.98%) |
account_sized2 | 128 | ๐ข -264 (67.35%) |
account_sized4 | 128 | ๐ข -440 (77.46%) |
account_sized8 | 128 | ๐ข -664 (83.84%) |
account_unsized_init1 | 224 | ๐ข -400 (64.10%) |
account_unsized_init2 | 296 | ๐ข -288 (49.32%) |
account_unsized_init4 | 304 | ๐ข -424 (58.24%) |
account_unsized_init8 | 432 | ๐ข -584 (57.48%) |
account_unsized1 | 128 | ๐ข -216 (62.79%) |
account_unsized2 | 144 | ๐ข -312 (68.42%) |
account_unsized4 | 128 | ๐ข -504 (79.75%) |
account_unsized8 | 128 | ๐ข -792 (86.09%) |
boxed_account_empty_init1 | 176 | ๐ข -376 (68.12%) |
boxed_account_empty_init2 | 208 | ๐ข -192 (48.00%) |
boxed_account_empty_init4 | 208 | ๐ข -224 (51.85%) |
boxed_account_empty_init8 | 240 | ๐ข -256 (51.61%) |
boxed_account_empty1 | 128 | ๐ข -192 (60.00%) |
boxed_account_empty2 | 128 | ๐ข -192 (60.00%) |
boxed_account_empty4 | 144 | ๐ข -176 (55.00%) |
boxed_account_empty8 | 144 | ๐ข -192 (57.14%) |
boxed_account_sized_init1 | 176 | ๐ข -376 (68.12%) |
boxed_account_sized_init2 | 208 | ๐ข -192 (48.00%) |
boxed_account_sized_init4 | 208 | ๐ข -224 (51.85%) |
boxed_account_sized_init8 | 240 | ๐ข -256 (51.61%) |
boxed_account_sized1 | 128 | ๐ข -192 (60.00%) |
boxed_account_sized2 | 128 | ๐ข -192 (60.00%) |
boxed_account_sized4 | 144 | ๐ข -176 (55.00%) |
boxed_account_sized8 | 144 | ๐ข -192 (57.14%) |
boxed_account_unsized_init1 | 176 | ๐ข -376 (68.12%) |
boxed_account_unsized_init2 | 208 | ๐ข -192 (48.00%) |
boxed_account_unsized_init4 | 208 | ๐ข -224 (51.85%) |
boxed_account_unsized_init8 | 240 | ๐ข -256 (51.61%) |
boxed_account_unsized1 | 128 | ๐ข -192 (60.00%) |
boxed_account_unsized2 | 144 | ๐ข -176 (55.00%) |
boxed_account_unsized4 | 128 | ๐ข -192 (60.00%) |
boxed_account_unsized8 | 128 | ๐ข -208 (61.90%) |
boxed_interface_account_mint1 | 128 | ๐ข -192 (60.00%) |
boxed_interface_account_mint2 | 128 | ๐ข -192 (60.00%) |
boxed_interface_account_mint4 | 144 | ๐ข -176 (55.00%) |
boxed_interface_account_mint8 | 144 | ๐ข -192 (57.14%) |
boxed_interface_account_token1 | 128 | ๐ข -192 (60.00%) |
boxed_interface_account_token2 | 128 | ๐ข -192 (60.00%) |
boxed_interface_account_token4 | 144 | ๐ข -176 (55.00%) |
boxed_interface_account_token8 | 144 | ๐ข -192 (57.14%) |
interface_account_mint1 | 128 | ๐ข -376 (74.60%) |
interface_account_mint2 | 128 | ๐ข -552 (81.18%) |
interface_account_mint4 | 128 | ๐ข -888 (87.40%) |
interface_account_mint8 | 128 | ๐ข -1,560 (92.42%) |
interface_account_token1 | 128 | ๐ข -552 (81.18%) |
interface_account_token2 | 128 | ๐ข -728 (85.05%) |
interface_account_token4 | 128 | ๐ข -1,240 (90.64%) |
interface1 | 128 | ๐ข -192 (60.00%) |
interface2 | 128 | ๐ข -240 (65.22%) |
interface4 | 128 | ๐ข -424 (76.81%) |
interface8 | 128 | ๐ข -600 (82.42%) |
program1 | 128 | ๐ข -192 (60.00%) |
program2 | 128 | ๐ข -240 (65.22%) |
program4 | 128 | ๐ข -424 (76.81%) |
program8 | 128 | ๐ข -600 (82.42%) |
signer1 | 128 | ๐ข -200 (60.98%) |
signer2 | 128 | ๐ข -248 (65.96%) |
signer4 | 128 | ๐ข -432 (77.14%) |
signer8 | 128 | ๐ข -600 (82.42%) |
system_account1 | 128 | ๐ข -200 (60.98%) |
system_account2 | 128 | ๐ข -248 (65.96%) |
system_account4 | 128 | ๐ข -432 (77.14%) |
system_account8 | 128 | ๐ข -600 (82.42%) |
unchecked_account1 | 128 | ๐ข -200 (60.98%) |
unchecked_account2 | 128 | ๐ข -248 (65.96%) |
unchecked_account4 | 128 | ๐ข -432 (77.14%) |
unchecked_account8 | 128 | ๐ข -600 (82.42%) |
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).AccountInfo
instead of cloning (#2656).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 |