7.5 Compute Optimization

Target Compute Units:

  • Market creation: <100,000 CU

  • Buy/sell outcome: <200,000 CU

  • Claim fees: <50,000 CU

  • Platform registration: <80,000 CU

Optimization Techniques:

  1. Lazy Loading: Load only required accounts

  2. Zero-Copy Deserialization: For large account data

  3. Lookup Tables: Pre-compute common values

  4. Early Termination: Exit loops when precision sufficient

  5. Batch Operations: Combine multiple ops when possible

Example: Zero-Copy for Large Markets

#[account(zero_copy)]
pub struct LargeMarket {
    pub data: [u8; 10000],
}

// Access without full deserialization
let market = load::<LargeMarket>(&account_info)?;

Last updated