# DeepSeek-V4-Flash: How I Cut a 40-Minute Batch Job to 6

> Source: <https://promptcube3.com/en/threads/4953/>
> Published: 2026-08-04 16:05:43+00:00

# DeepSeek-V4-Flash: How I Cut a 40-Minute Batch Job to 6

I tag a few thousand user-submitted items every night with lightweight categories — no chain-of-thought, no multi-step reasoning, just consistent label assignment. Originally built on [DeepSeek](/en/tags/deepseek/)'s heavier tier, processing ran sequentially: one request, wait, next request. It worked, but took ~40 minutes and climbed toward an hour as volume grew.

Two changes, isolated and measured:

1. **Model tier swap** — moved the tagging task to DeepSeek-V4-Flash, keeping the reasoning-heavy subtask on the full model. Ran a fixed test set through both to confirm no accuracy regression on this specific classification workload. It held.

2. **Concurrency** — switched from sequential `requests`

calls to an async batch pattern. Honestly overdue regardless of model choice.

Individually each shaved time off. Combined, the job dropped from ~40 minutes to ~6. Attribution between the two isn't clean since they shipped close together, but the compounding effect was real.

The generalized takeaway: before declaring a model "slow," audit both the tier and the request pattern. I'd been treating latency as a single issue when it was two — and only optimizing the model choice, not the I/O structure.

```
# Before: sequential
for item in items:
    resp = requests.post(url, json={"model": "deepseek-chat", "messages": [...]})
python
# After: async + flash tier
async def classify(item):
    return await client.chat.completions.create(
        model="deepseek-chat-fast",
        messages=[...]
    )

results = await asyncio.gather(*[classify(i) for i in items])
```

For anyone running batch classification or light tagging jobs, this is a practical speed win with zero accuracy tradeoff on simple tasks.

[Next Homebench: Local LLM Benchmark Results Across Speed, Memory →](/en/threads/4935/)
