You should get an idea from the campaign queue. If you want to watch some campaigns, batch will tell you how long it took or you can watch them run it down.
For API calls themselves, there's a 10k/day limit and I am unsure where they fit into the priority queue. This will depend greatly on time of day (traffic) and your existing Campaign Queue and load.
Things to consider
- 5-20 minutes to let SFDC sync and process data, then send it back.
- triggers may not process all at once and lots of leads can get stuck, esp with Scoring during a big campaign.
- Stagger wait steps on key data handling workflows
- use Campaign is Requested to manage when things happen
- modularize certain components - things like data and attribution data should happen centrally.
- Throughput will always be higher at night when people aren't triggering things in your instance or slowing down pods
From what I've heard, the Queue prioritizes somewhat like this
- Scheduled Batch Email
- Batch
- Trigger
- Campaign is Requested
I haven't seen anything official though, so I could be a bit off.