# 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](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.16.0 | Instruction | Stack Memory | +/- | | ------------------------------ | ------------ | --- | | account_info1 | 328 | - | | account_info2 | 376 | - | | account_info4 | 560 | - | | account_info8 | 728 | - | | account_empty_init1 | 592 | - | | account_empty_init2 | 560 | - | | account_empty_init4 | 632 | - | | account_empty_init8 | 824 | - | | account_empty1 | 320 | - | | account_empty2 | 368 | - | | account_empty4 | 552 | - | | account_empty8 | 728 | - | | account_sized_init1 | 600 | - | | account_sized_init2 | 552 | - | | account_sized_init4 | 664 | - | | account_sized_init8 | 888 | - | | account_sized1 | 328 | - | | account_sized2 | 392 | - | | account_sized4 | 568 | - | | account_sized8 | 792 | - | | account_unsized_init1 | 624 | - | | account_unsized_init2 | 584 | - | | account_unsized_init4 | 728 | - | | account_unsized_init8 | 1,016 | - | | account_unsized1 | 344 | - | | account_unsized2 | 456 | - | | account_unsized4 | 632 | - | | account_unsized8 | 920 | - | | boxed_account_empty_init1 | 552 | - | | boxed_account_empty_init2 | 400 | - | | boxed_account_empty_init4 | 432 | - | | boxed_account_empty_init8 | 496 | - | | boxed_account_empty1 | 320 | - | | boxed_account_empty2 | 320 | - | | boxed_account_empty4 | 320 | - | | boxed_account_empty8 | 336 | - | | boxed_account_sized_init1 | 552 | - | | boxed_account_sized_init2 | 400 | - | | boxed_account_sized_init4 | 432 | - | | boxed_account_sized_init8 | 496 | - | | boxed_account_sized1 | 320 | - | | boxed_account_sized2 | 320 | - | | boxed_account_sized4 | 320 | - | | boxed_account_sized8 | 336 | - | | boxed_account_unsized_init1 | 552 | - | | boxed_account_unsized_init2 | 400 | - | | boxed_account_unsized_init4 | 432 | - | | boxed_account_unsized_init8 | 496 | - | | boxed_account_unsized1 | 320 | - | | boxed_account_unsized2 | 320 | - | | boxed_account_unsized4 | 320 | - | | boxed_account_unsized8 | 336 | - | | boxed_interface_account_mint1 | 320 | - | | boxed_interface_account_mint2 | 320 | - | | boxed_interface_account_mint4 | 320 | - | | boxed_interface_account_mint8 | 336 | - | | boxed_interface_account_token1 | 320 | - | | boxed_interface_account_token2 | 320 | - | | boxed_interface_account_token4 | 320 | - | | boxed_interface_account_token8 | 336 | - | | interface_account_mint1 | 504 | - | | interface_account_mint2 | 680 | - | | interface_account_mint4 | 1,016 | - | | interface_account_mint8 | 1,688 | - | | interface_account_token1 | 680 | - | | interface_account_token2 | 856 | - | | interface_account_token4 | 1,368 | - | | interface1 | 320 | - | | interface2 | 368 | - | | interface4 | 552 | - | | interface8 | 728 | - | | program1 | 320 | - | | program2 | 368 | - | | program4 | 552 | - | | program8 | 728 | - | | signer1 | 328 | - | | signer2 | 376 | - | | signer4 | 560 | - | | signer8 | 728 | - | | system_account1 | 328 | - | | system_account2 | 376 | - | | system_account4 | 560 | - | | system_account8 | 728 | - | | unchecked_account1 | 328 | - | | unchecked_account2 | 376 | - | | unchecked_account4 | 560 | - | | unchecked_account8 | 728 | - | ### Notable changes --- ## [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 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 | 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 | ---