Skip to content

Large-Scale Fan-Out

Fan out per-file work with bounded concurrency. The knob is --concurrency — start low and ramp up until reliability drops.

Run It

python -m cookbook optimization/large-scale-fan-out \
  --input cookbook/data/demo/text-medium --limit 8 --concurrency 4 --mock

Ramping Up

Start conservative, then increase:

# Baseline: sequential
python -m cookbook optimization/large-scale-fan-out \
  --input cookbook/data/demo/text-medium --limit 8 --concurrency 1 --mock

# Double it
python -m cookbook optimization/large-scale-fan-out \
  --input cookbook/data/demo/text-medium --limit 8 --concurrency 4 --mock

# Push further
python -m cookbook optimization/large-scale-fan-out \
  --input cookbook/data/demo/text-medium --limit 8 --concurrency 8 --mock

Higher concurrency should improve throughput until provider rate limits are hit. Failures at higher concurrency usually signal rate or latency pressure.

What You'll See

Concurrency: 4 | Files: 8
Results: 8/8 ok | Wall time: 3.1s

The ok count should stay near total file count. Watch for drops as you increase concurrency.

Next Steps

Compare with Rate Limits and Concurrency for a more rigorous benchmarking approach.