DeepSeek V4 Pro · Coding
DeepSeek V4 Pro for coding: our test runs
DeepSeek V4 Pro ran our 5 coding prompts in llmwise, through the same pipeline your messages take. Here's every reply as it came, whether it passed, what it cost and what it counts as on Pro, next to the other models.
Based on 5 of our test runs on , through OpenRouter with the app's own prompt and settings. Updated .
Short answer
In our test runs on September 27, 2026, DeepSeek V4 Pro passed 4 of 5 of our coding prompts (1 of the 2 hard ones): 14th of 15 models. Each reply counted as 1 message on Pro, where it has 250 a month, and cost $0.0132 to run on average.
Prompt by prompt
Each of the 5 coding prompts, and how DeepSeek V4 Pro's reply did.
| Prompt | Result | Cost | Time |
|---|---|---|---|
| Turn a title into a URL slugEveryday | Passed: All 7 tests passed. | $0.0013 | 2.1 s |
| Parse a duration like “1h 30m”Everyday | Passed: All 10 tests passed. | $0.0030 | 20.1 s |
| Merge overlapping intervalsEveryday | Passed: All 7 tests passed. | $0.0005 | 6.6 s |
| Evaluate an arithmetic expression, no evalHard | Passed: All 15 tests passed. | $0.0291 | 40.3 s |
| Parse CSV with quoted fieldsHard | Failed: No answer within Pro's reply limit of 8,000 tokens: the model spent them all reasoning. | $0.0323 | 69.1 s |
Every coding reply from DeepSeek V4 Pro
Turn a title into a URL slug
An everyday prompt: “Turn a title into a URL slug”, in full.
Passed: All 7 tests passed.
```javascript function slugify(title) { return title .normalize('NFD') .replace(/[\u0300-\u036f]/g, '') .toLowerCase() .replace(/[^a-z0-9]+/g, '-') .replace(/^-+|-+$/g, ''); } ```494 tokens in, 339 out (263 of them reasoning) · 2.1 s · $0.0013 · 1 message on Pro · answered by deepseek/deepseek-v4-pro-0813 via Wafer ·
Parse a duration like “1h 30m”
An everyday prompt: “Parse a duration like “1h 30m””, in full.
Passed: All 10 tests passed.
```javascript function parseDuration(text) { const match = /^\s*(?:(\d+)h)?\s*(?:(\d+)m)?\s*(?:(\d+)s)?\s*$/.exec(text); if (!match || (!match[1] && !match[2] && !match[3])) return null; return ( Number(match[1] || 0) * 3600 + Number(match[2] || 0) * 60 + Number(match[3] || 0) ); } ```477 tokens in, 1,544 out (1,420 of them reasoning) · 20.1 s · $0.0030 · 1 message on Pro · answered by deepseek/deepseek-v4-pro-0813 via Alibaba ·
Merge overlapping intervals
An everyday prompt: “Merge overlapping intervals”, in full.
Passed: All 7 tests passed.
```javascript function mergeIntervals(intervals) { if (intervals.length === 0) return []; const sorted = intervals .map(([start, end]) => [start, end]) .sort((a, b) => a[0] - b[0] || a[1] - b[1]); const merged = [sorted[0].slice()]; for (let i = 1; i < sorted.length; i++) { const last = merged[merged.length - 1]; const [start, end] = sorted[i]; if (start <= last[1]) { if (end > last[1]) last[1] = end; } else { merged.push([start, end]); } } return merged; } ```461 tokens in, 457 out (283 of them reasoning) · 6.6 s · $0.0005 · 1 message on Pro · answered by deepseek/deepseek-v4-pro-0813 via StreamLake ·
Evaluate an arithmetic expression, no eval
A hard prompt: “Evaluate an arithmetic expression, no eval”, in full.
Passed: All 15 tests passed.
```javascript function evaluate(expression) { function tokenize(input) { const tokens = []; let i = 0; while (i < input.length) { const ch = input[i]; if (/\s/.test(ch)) { i++; continue; } if (ch >= '0' && ch <= '9') { const start = i; while (i < input.length && input[i] >= '0' && input[i] <= '9') { i++; } if (i < input.length && input[i] === '.') { i++; if (i < input.length && input[i] >= '0' && input[i] <= '9') { while (i < input.length && input[i] >= '0' && input[i] <= '9') { i++; } } else { throw new Error('Invalid number'); } } tokens.push({ type: 'number', value: parseFloat(input.slice(start, i)) }); continue; } if (ch === '+' || ch === '-' || ch === '*' || ch === '/' || ch === '^') { tokens.push({ type: 'op', value: ch }); i++; continue; } if (ch === '(') { tokens.push({ type: 'lparen' }); i++; continue; } if (ch === ')') { tokens.push({ type: 'rparen' }); i++; continue; } throw new Error(`Invalid character "${ch}"`); } return tokens; } const tokens = tokenize(expression); let pos = 0; function peek() { return tokens[pos]; } function next() { return tokens[pos++]; } function isOp(value) { const token = peek(); return token !== undefined && token.type === 'op' && token.value === value; } function parsePrimary() { const token = peek(); if (token === undefined) { throw new Error('Unexpected end of expression'); } if (token.type === 'number') { next(); return token.value; } if (token.type === 'lparen') { next(); const value = parseExpr(); const closing = peek(); if (closing === undefined || closing.type !== 'rparen') { throw new Error('Expected closing parenthesis'); } next(); return value; } throw new Error(`Unexpected token "${token.value}"`); } function parseExponent() { let base = parsePrimary(); if (isOp('^')) { next(); const exponent = parseUnary(); base = Math.pow(base, exponent); } return base; } function parseUnary() { if (isOp('-')) { next(); const operand = parseUnary(); return -operand; } return parseExponent(); } function parseTerm() { let left = parseUnary(); while (true) { if (isOp('*')) { next(); const right = parseUnary(); left *= right; } else if (isOp('/')) { next(); const right = parseUnary(); left /= right; } else { break; } } return left; } function parseExpr() { let left = parseTerm(); while (true) { if (isOp('+')) { next(); const right = parseTerm(); left += right; } else if (isOp('-')) { next(); const right = parseTerm(); left -= right; } else { break; } } return left; } const result = parseExpr(); if (pos !== tokens.length) { throw new Error('Unexpected trailing tokens'); } return result; } ```563 tokens in, 8,285 out (7,436 of them reasoning) · 40.3 s · $0.0291 · 1 message on Pro · answered by deepseek/deepseek-v4-pro-0813 via Wafer ·
Parse CSV with quoted fields
A hard prompt: “Parse CSV with quoted fields”, in full.
Failed: No answer within Pro's reply limit of 8,000 tokens: the model spent them all reasoning.
(no reply)
493 tokens in, 8,000 out (7,805 of them reasoning) · 69.1 s · $0.0323 · 1 message on Pro · answered by deepseek/deepseek-v4-pro-0813 via CoreWeave ·
How it compares on coding
DeepSeek V4 Pro beside the job's picks among every model. 13 models share the hard-problems pick, and DeepSeek V4 Pro isn't one of them.
| Model | Passed | On Pro | Cost per reply |
|---|---|---|---|
| GLM 5.3Our pick: hard problems (shared), best value | 5 of 5 | 250 a month on Pro | $0.0015 |
| GLM 5.3 FlashOur pick: hard problems (shared), everyday | 5 of 5 | 60 a day on Pro | $0.0003 |
| DeepSeek V4 Pro | 4 of 5 | 250 a month on Pro | $0.0132 |
Every limit is published. Paid plans also have a monthly fair-use limit on AI cost: Pro $7.50, Max $20, Ultra $42, Studio $85. Using every message on your plan at typical sizes stays under it; very large messages and heavy research use it faster. Every limit, explained.
How these runs were done
Tests. Automatic. The function runs against the prompt's tests in a separate Node.js process with a time limit and no file, network or child-process access; it passes when every test passes.
DeepSeek V4 Pro, and coding, elsewhere
- DeepSeek V4 Pro: price, limits and messages on every plan
- The best AI for coding: our picks among every model
- DeepSeek for coding
- DeepSeek V4 Pro for writing: our test runs
- DeepSeek V4 Pro for math: our test runs
- DeepSeek V4 Pro for data analysis: our test runs
- Claude Opus 5.5 vs DeepSeek V4 Pro
- Analyze a CSV with code: the prompt, and its price
- Our test runs: 50 prompts on every model
Questions
Is DeepSeek V4 Pro good for coding?
In our test runs it passed 4 of 5 coding prompts, 14th of the 15 models in llmwise. Every reply is on this page, so you can judge them yourself.
How many of my messages does a coding reply from DeepSeek V4 Pro use?
1 message each on Pro, where it has 250 a month on Pro. The price of a message is fixed and shown before you send it, however long the reply.
How were these runs done?
The same way for every model: each prompt sent through llmwise's own pipeline, each reply checked the same way. The methods page has every prompt and how each is scored.
Claude, GPT, Gemini, DeepSeek, Grok, Kimi, and GLM, in one chat.
See what a message costs before you send it. Free is 5 messages to try; sign in with an email link, no password or card.