run_batch_analysis
Uses Python's `concurrent.futures.ThreadPoolExecutor` to process multiple coins in parallel, defaulting to 10 concurrent workers. Each worker calls `analyze_coin` independently, and results are collected as futures complete. The `as_completed` iterator returns results in the order they finish, not the order they were submitted.
Parallelism reduces total analysis time from O(n × per_coin_time) to approximately O(per_coin_time) for n ≤ max_workers. On a typical machine with a fast internet connection, analyzing 100 coins with 10 workers takes about the same time as analyzing 10 coins serially. Increase max_workers cautiously — CoinGecko and Anthropic API rate limits can throttle concurrent requests.
Ask AI about this skill before installing it.