Deserialisation caching of contracts in the same transaction
Consider the following scenario:
contract A -> contract B -> contract A (-> means contract call in the same transaction)
In this case the deserialisation cost is paid twice for contract A, which makes the CSP pattern that Michelson currently has very expensive.
This can be made significantly cheaper by introducing per transaction caching of contracts. This caching should be cleared in between transactions, because otherwise gas cost become unpredictable.
Edited by Adrian Brink