I want to transfer tokens by running my custom program instruction logic that takes in some custom program-specific accounts to validate and update account data, as well as transfer tokens to the user. The number of users to whom I want to transfer the tokens is approximately 1000-2000. I want to make this transfer to the users as fast as possible.
What do you think is a better choice that will be faster and reliable?
Choice A: Transfer to each user in a distinct transaction. This takes about 50k-150k CU.
Choice B: Bundle transaction to include three transfer instructions to individual wallets. So instead of 1000, the number of transactions that we need to send to Solana would be 334 (1000/3). The CU units will be higher for this transaction as compared to Choice A. (50k-150k)*3 = 150k to 450k CU.
Or maybe there are even better ways of doing this. Open for opinions, thanks!