I’m facing a performance bottleneck while fetching and processing 600-700 users from an ICP canister (Rust) via query calls.
- Issue: Query calls take 2+ minutes, even though they run in parallel.
- Approach:
- Fetch users in 6-7 batches (~100 per batch).
- Process 25 users concurrently per batch.
- Problems:
- Fetching & processing is slow.
- More batches increase execution time instead of reducing it.
Questions:
- Why are ICP query calls slow despite parallel execution?
- Does ICP have query call limitations affecting performance?
- Why does increasing batches increase execution time?
- How can I optimize fetching and processing?