36 KiB
36 KiB
Stack Memory
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.
[Unreleased]
Solana version: 2.0.8
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 | - |
Notable changes
- lang: Use closures for
init
constraints to reduce the stack usage oftry_accounts
(#2939).
[0.30.1]
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 | - |
Notable changes
[0.30.0]
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%) |
Notable changes
- Upgrade Solana to
1.18.8
(#2867).
[0.29.0]
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%) |
Notable changes
Box
theanchor_lang::Result
error variants (#2600).
[0.28.0]
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%) |
Notable changes
- Upgrading Solana to
1.16
. The difference in stack memory usage between0.27.0
and0.28.0
is the direct result of upgrading Solana version(both build tools and crates) (#2512). - Change all accounts to have a reference to
AccountInfo
instead of cloning (#2656).
[0.27.0]
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 |